2013-05-13 40 views
0

我目前循環瀏覽一系列的輸入框,並執行 驗證,如果用戶根本沒有輸入任何東西。我有一個 有條件的說,如果它是一個特定的ID單,輸入框 了,並做了單獨的驗證。這是一個簡單的驗證, 只需檢查以確保表單的長度小於10個字符。 但由於某種原因,它不起作用。如果我輸入一個字符 它只是進入下一個迭代。無論如何,我可以刪除 if語句中有這些多個if語句。任何 幫助非常感謝。jQuery檢查字段的長度,如果一個特定的ID

$("form :input").each(function(){ 

var $this = $(this); 

if(!this.value.length){ 

    if(this.id == "phoneNumber" && $this.is(":visible")){ 
     if($this.val().length < 10){ 
     alert("phone number required"); 
     } 
    } 


} else if($(this).is(":visible")){ 
    //do some other validation  
} 
+0

你試圖挑選哪個'id'? 'phoneNumber'? – 2013-05-13 15:58:04

+0

[jQuery驗證插件](http://docs.jquery.com/Plugins/Validation)可能會有幫助。 – 2013-05-13 15:59:15

回答

2

嵌套的測試問題:有在測試中沒有任何意義,如果長度爲<10當你已經測試了它的0。如果值爲1個字符長度,那麼您甚至不會檢查它是否與電話號碼一樣太小。

你可能想要這個:

if (this.id == "phoneNumber" && $this.is(":visible") && this.value.length<10){ 
    alert("phone number required"); 
} else if(!this.value.length) { 
    // alert field empty ? 
} else ... 
+0

謝謝@dystroy工作完美! – 2013-05-13 16:13:36

0

jQuery有一個驗證插件。爲你做所有的重任。它具有最小長度驗證,以及驗證號碼是否是有效的美國電話#,有效的CC#和許多其他字段類型。 http://docs.jquery.com/Plugins/Validation

相關問題