2011-04-08 152 views
1

使用jQuery如何檢查所有輸入字段(EXCL隱藏字段)和textareas是否爲空?我不知道如何 「環」 會通過各種表單字段和檢查:jQuery檢測輸入字段爲空

$( 「輸入」)VAL() 和 $(「textarea的).VAL()

這是運行一個函數,應該只有「工作」,如果所有的表單字段爲空

回答

4

去像這樣loop

$('input, textArea').each(function(){ 
    if($.trim($(this).val()) == ''){ 
     console.log(this,'is empty'); 
    } 
}); 
0

有很多方法可以實現這一點。

$('#form-id input').blur(function() 
{ 
if(!$(this).val()) { 
     // Do whatever you need to do 
} 
}); 

$("input, textarea").each(function() { 
if($(this).val() === "") 
    alert("Empty Fields!!"); 
}); 
1

我想說擴展jQuery的使用:blank僞類

採取從流行jquery.validate.js的摘錄:

(function($) { 
    $.extend($.expr[":"], { 
     // http://docs.jquery.com/Plugins/Validation/blank 
     blank: function(a) { 
      return !$.trim(a.value); 
     }, 
    }); 
})(jQuery); 

那麼你可以使用一個選擇像

$("input:blank") 

如果你做的比你可以考慮使用jQuery驗證插件

bassistance.de » jQuery plugin: Validation

5

隨你挑只檢查空白較多,但在這裏它是在短短的幾行,以驗證所有字段,而不僅僅是一個:

var allBlank = true; 
$('input, textarea').each(function() { 
    return allBlank = allBlank && !$(this).val(); 
}); 

當然,您可以修改選擇器以指定所需的字段。然後繼續:

if(allBlank) { 
    //all are blank. congrats. 
} 

編輯:現在更多的性能!

+1

+1這裏是使用布爾「標誌」的唯一答案,但它可以通過在找到具有值的元素時跳出循環來改進 - 在迭代更多元素時沒有點。 – 2011-04-08 19:16:48

+0

對不起。錯過了「迴歸」。謝謝。 – 2011-04-08 19:23:17