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 }