检查表单中的每个元素是否都填充了JQUERY

时间:2015-01-15 18:31:33

标签: javascript jquery html forms input

我有一个包含所有类型的表单元素的表单,我有一个代码应该遍历每个元素并在单击提交按钮后检查它们的值。不幸的是,这段代码并没有完全发挥作用。我的意思是,如果我没有在输入中输入任何值,它将打印消息,但如果我在其中输入一些文本,我们将转到else语句,而不检查另一个。

有人可以告诉我为什么吗?

if($('form.registration-form :input').val() == '')
    {
        // Print Error Message
    }
else
    {
        // Do something else
    }

1 个答案:

答案 0 :(得分:3)

您可以使用filter方法:

var emptyElements = $('form.registration-form :input').filter( function() {
    return this.value === '';
});

if( emptyElements.length === 0 ) {
  // all IS filled in
} else {
  // all is NOT filled in
}

$('#submit').click(function(){
    var emptyElements = $('form.registration-form :input').filter( function() {
        return this.value === '';
    });
    
    if( emptyElements.length === 0 ) {
        alert('All Filled');
    } else {
        alert('1 or more not filled')
    }
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form action="" class="registration-form">
    <input type="text">
    <input type="text">
    <input type="text">
    <input type="text">
    <input type="submit" id="submit" value="Check">
</form>