我正在显示一个输入字段,后跟一个br标签和一个用于验证消息的范围。登录表单中有三个。我想找到第一个带有可见验证消息的字段(span指定了一个类),并将焦点设置为与span相关的输入。
我的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");
}
答案 0 :(得分:0)
找到解决方案。我想我必须通过break标签。看起来像prev()只检查前面的一个元素?它不继续?
$("#loginPanel").find(".validationMsg:first").prev().prev("input").focus();