我目前有兩個相同的聯繫表格在網頁上使用。一個在橫幅上的每個頁面上,另一個版本位於聯繫頁面的主要部分。這是我用它來驗證它:jquery.validator和一個頁面上的兩個聯繫表單將驗證空提交
$(".contactform").each(function() {
$(this).validate();
});
然而,當我點擊提交在任的形式,它的對面之一(未使用)傷愈復出顯示錯誤。我不希望這個人必須填寫兩個表格(因爲他們是完全一樣的表格),並且對從哪裏出發有點困惑。
我目前有兩個相同的聯繫表格在網頁上使用。一個在橫幅上的每個頁面上,另一個版本位於聯繫頁面的主要部分。這是我用它來驗證它:jquery.validator和一個頁面上的兩個聯繫表單將驗證空提交
$(".contactform").each(function() {
$(this).validate();
});
然而,當我點擊提交在任的形式,它的對面之一(未使用)傷愈復出顯示錯誤。我不希望這個人必須填寫兩個表格(因爲他們是完全一樣的表格),並且對從哪裏出發有點困惑。
根據xnnyygn的回答,我最終所做的是通過id來添加單獨的.validate規則,當通過類或形式完成時,這不起作用,並顯示第一個選擇錯誤結果。
$("#contactform1").validate({
rules: {
field: {
required: true
}
}
});
$("#contactform2").validate({
rules: {
field: {
required: true
}
}
});
$(document).ready(function(){
$("#contactform1").validate();
$("#contactform2").validate();
});
我最終在這裏使用了兩個ID而不是類或表單選擇器。否則做不到。經驗教訓,使用jquery.validator你必須使用id。
不知道它是否解決了這個問題,但不需要明確使用'.each()'。只要寫:
$(".contactform").validate();
它們是等價的。然而,由於jquery.validator只處理id的分開,所以要麼本質上是不正確的。不過謝謝。 – jett
這是我test HTML,從http://docs.jquery.com/Plugins/Validation#source,添加具有相同類別的重複形式。
我試着直接調用驗證,但是當我按下第二個提交按鈕時第一個窗體被驗證。但是,單獨調用驗證可以很好地工作。
驗證器跳轉到另一個表單的原因可能是jquery驗證器只採用第一個元素(表單)並應用規則。查看源代碼以獲取更多細節。
非常感謝你,我已經添加了一個源代碼的答案,它構建了你的測試。顯然,驗證器不喜歡id選擇器。 – jett
hightlight或errorPlacement設置如何?這些設置是全局還是分開設置? –