如何使用jQuery检查所有输入是否为空

我需要使用jQueryvalidation表单。 我可以逐个查看我的所有输入,但这不是一个非常实用的解决方案。

如何更有效地检查所有输入是否非空? 在我的forms,我可以有不同类型的input元素:文本,几组广播,选择等。

只需使用:

 $("input:empty").length == 0; 

如果它为零,则不为空。

为了更聪明,并且过滤掉只有空格的项目,你可以这样做:

 $("input").filter(function () { return $.trim($(this).val()).length == 0 }).length == 0; 

使用each

 var isValid; $("input").each(function() { var element = $(this); if (element.val() == "") { isValid = false; } }); 

但是你可能会更好地使用jQuery validate哪些IMO更清洁。

 $('#form_submit_btn').click(function(){ $('input').each(function() { if(!$(this).val()){ alert('Some fields are empty'); return false; } }); }); 

你可以做到。代码

           

我只想指出我的答案,因为我知道循环比$.each循环更快,这里是:

只需将class="required"添加到您想要的输入中,然后在jquery中执行:

 $('#signup_form').submit(function(){ var fields = $('input.required'); for(var i=0;i 
 $('input').each(function() { if ($(this).val() != '') { console.log('all inputs filled'); } else{ console.log('theres an empty input'); return false } }); 

您可能希望将其包装在keyup函数中

像这样:

 if ($('input[value=""]').length > 0) { console.log('some fields are empty!') } 
 var isValid = true; $("#tabledata").find("#tablebody").find("input").each(function() { var element = $(this); if (element.val() == "") { isValid = false; } else{ isValid = true; } }); console.log(isValid);