2010-04-12 160 views
19

元素,我使用jQuery驗證了客戶端驗證,我想忽略具有style="display: none"jQuery驗證忽略風格

$("#myform").validate({ 
    ignore: "?" 
}); 

將我的選擇是,在上述情況下,任何什麼元素?

回答

49

注意:從版本1.9.0開始,ignore: ":hidden"是默認選項,因此不必再明確設置。


使用:hidden

元素可以被認爲是隱藏的幾個原因:

  • 他們有沒有值的顯示值。
  • 它們是type =「hidden」的表單元素。
  • 它們的寬度和高度明確設置爲0.
  • 祖先元素被隱藏,因此元素不會顯示在頁面上。
$("#myform").validate({ 
    ignore: ":hidden" 
}); 

更新:的完整性,從plugin's documentation

忽略
元素驗證時,簡單地過濾出來,不容忽視。 jQuery的而不是 -method被使用,因此not()接受的一切都可以作爲這個選項傳遞。類型submit和reset的輸入總是被忽略,被禁用的元素也是如此。

+0

@Felix:有沒有辦法讓validate()返回一個布爾值? – Gabe 2010-04-12 16:29:50

+1

@gmcalab:這個值應該表明什麼?它返回一個'Validator':http://docs.jquery.com/Plugins/Validation#Validator – 2010-04-12 16:40:15

+0

@Felix謝謝,不錯的鏈接!現在,form()仍然沒有驗證,它仍然驗證隱藏的字段.... – Gabe 2010-04-12 17:30:45

5

http://api.jquery.com/hidden-selector/

":hidden"

是你在找什麼。

元素可以被認爲是隱藏的幾個原因:

  • 他們有沒有值的顯示值。
  • 它們是type =「hidden」的表單元素。
  • 它們的寬度和高度明確設置爲0.
  • 祖先元素被隱藏,因此元素不會顯示在頁面上。

我覺得這可能會更好。

+0

設置默認值爲什麼我要忽略可見字段? – Gabe 2010-04-12 16:16:40

+0

哎呀,我正在考慮在它周圍放一個not(),但我只是看到了隱藏,改變了。 – AjayP 2010-04-12 17:20:35