2013-04-16 205 views
2

我無法讓jquery.validate.js在幾個字段上正常工作。下面的代碼:jQuery驗證驗證錯誤的域

$("#input_home_area").rules("add", { 
    digits: true, 
    maxlength: 3, 
    minlength: 3 
}); 

$("#input_home_prefix").rules("add", { 
    digits: true, 
    maxlength: 3, 
    minlength: 3 
}); 

$("#input_home_suffix").rules("add", { 
    digits: true, 
    maxlength: 4, 
    minlength: 4 
}); 

HTML:

<li id='' class='gfield sixth required'> 
    <label class='gfield_label' for=''>Home Phone Area Code (ex: 954)</label> 
    <div class='ginput_container'> 
     <input name='' id='input_home_area' type='text' value='' class='medium' tabindex='6' placeholder="(ex: 954)" /> 
    </div> 
</li> 

<li id='' class='gfield sixth required'> 
    <label class='gfield_label' for=''>Home Phone Prefix (ex: 555)</label> 
    <div class='ginput_container'> 
     <input name='' id='input_home_prefix' type='text' value='' class='medium' tabindex='6' placeholder="(ex: 555)" /> 
    </div> 
</li> 

<li id='' class='gfield sixth required'> 
    <label class='gfield_label' for=''>Home Phone Suffix (ex: 1236)</label> 
    <div class='ginput_container'> 
     <input name='' id='input_home_suffix' type='text' value='' class='medium' tabindex='6' placeholder="(ex: 1236)" /> 
    </div> 
</li> 

問題很難解釋,但我會盡我所能。當我包含驗證#input_home_suffix的腳本位時,#input_home_area#input_home_prefix都會得到驗證,就好像它們在#input_home_suffix一樣。因此,即使我已經設置#input_home_area#input_home_prefix要求輸入3位數字,他們也會被驗證,就好像需要輸入4位一樣。即使我註釋到驗證#input_home_area#input_home_prefix的腳本的位,它們仍然得到驗證,就好像它們實際上一樣#input_home_suffix

我完全不知道發生了什麼事。頁面上的其他所有字段都可以完美驗證,只是這些問題存在。

回答

2

使用Validation插件時,必須通過name屬性調用輸入,而不是它們的id

+0

確定嗎?我已經設置它來驗證頁面上的每個其他字段的ID,它似乎很好。我會仔細檢查一下。 – JacobTheDev

+1

好吧,添加完全相同的名稱,修復它。謝謝。這很奇怪。 – JacobTheDev