繁体   English   中英

将焦点设置为验证者跨度之前的输入

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM