2011-06-13 80 views
3

我有兩種形式在頁面jQuery的驗證器的validate(),並選擇

<form id="form1"> 
</form> 
<form id="form2"> 
</form> 

in javascript 
$('form').validate(); 

以上僅適用驗證到Form1窗體2沒有。 我認爲jquery選擇器適用於所有匹配的元素。

我不得不打電話驗證個人形式申請

什麼毛病我在做什麼/期望?不是$('form')。validate()應該適用於頁面中的所有表單?

回答

10

雖然jQuery函數確實抓住用於選擇器的每個匹配元件,它是由該插件使用的那些元素。它看起來像您正在使用的驗證插件(無法確認它是否爲this one)僅抓取選擇器的第一個元素以執行操作。

通過用validate函數包裝validate函數,您應該能夠獲得每個表單的驗證功能。

$('form').each(function(){ 
    $(this).validate(); 
}); 
+0

這是事實。 jQuery Validate插件中內置的所有其他方法也是如此。 – Sparky 2013-05-17 21:43:40

4

嘗試此代替:

$('form').each(function(){ 
    $(this).validate(); 
});