2015-12-30 16 views
0

我正在顯示一個輸入字段,後跟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()); 

我只是無法找到輸入對象來設置foc我們。

我通過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

請將「validationMsg」範圍的示例添加到您的代碼中。 –

+0

它看起來像你的代碼缺少一些部分,你可能共享一個沉重的東西或類似的東西? –

+0

沒有遺漏,它只是關鍵要素的亮點。 –

回答

0

實測值的溶液中。我想我必須通過休息標籤。看起來像prev()只檢查以前的一個元素?它不會繼續?

$("#loginPanel").find(".validationMsg:first").prev().prev("input").focus();