Jquery循环表单检查所有空字段然后执行一个函数

我正在尝试循环表单以检查空字段然后执行和function。 我现在正在使用下面这个我在这个网站上找到的东西,但是发生了什么,每个循环检查1字段,看到1不是空的,仍然执行其他function。 我想我需要立即检查所有然后执行下一个function。 我怎么能实现这个目标?

if($('.enter-info--ownerInfo .req').val() != "") { alert("Empty Fields!!") } else { run this function } 

谢谢…

使用过滤 ,很容易:

 var anyFieldIsEmpty = $("form :input").filter(function() { return $.trim(this.value).length === 0; }).length > 0; if (anyFieldIsEmpty) { // empty fields } 

演示: http //jsfiddle.net/Lz9nY/

 $('.enter-info--ownerInfo .req').each(function() { if ($(this).val() == "") { alert("empty field : " + $(this).attr('id')); } }); 

首先选择所有字段:

 var fields = $('.enter-info--ownerInfo .req') 

然后将它们过滤到具有空值的那些:

 fields.filter(function() { return this.value === ''; }); 

然后检查结果对象的length属性。 如果它等于0那么所有字段都有一个值,否则你执行你的函数。

 if(fields.length === 0) { // no empty fields } else { // empty fields } 

你可以使用循环和标志:

 var valid = true; $('.req').each(function () { if ($(this).val() == '') { valid = false; return false; } }); if (valid) { // all fields are valid } 

您可以使用.filter方法将元素减少为符合条件的元素:

 if $('.enter-info--ownerInfo .req').filter(function () { return $.trim($(this).val()) == "" }).length > 0) { alert("One or more fields are empty") } else { // run this function }