[英]Set focus to input before validator span
我正在显示一个输入字段,后跟一个br标签和一个用于验证消息的跨度。 其中有三个用于登录表单。 我想使用可见的验证消息(跨度已分配一个类)来定位第一个字段,并将焦点设置为与跨度关联的输入。
我的html看起来像这样:
<div id="loginForm">
<label class="formLabel" for="Login_LastName">Your last name</label>
<input id="Login_LastName" name="Login_LastName" type="text" maxlength="31" style="width:200px;" /><br />
<span id="Login_LastName_validator"></span>
. . .
</div>
我正在尝试使用以下javascript,但找不到输入:
$("#loginPanel").find("validationMsg:first").prev("input").focus();
我可以找到显示的验证范围,因为我可以提醒内容:
alert($("#loginPanel").find(".validationMsg:first").html());
我只是似乎无法找到输入对象来设置焦点。
我正在通过javascript设置validationMsg:
if(!$.trim($("#Login_LastName").val())) {
$("#Login_LastName_validator").html("Your last name is required<br /><br />")
.addClass("validationMsg");
loginFormValid = false;
}
else {
$("#Login_LastName_validator").html("")
.removeClass("validationMsg");
}
找到了解决方案。 我想我必须让它超过break标签。 看起来prev()仅检查上一个元素? 它不继续前进吗?
$("#loginPanel").find(".validationMsg:first").prev().prev("input").focus();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.