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

Check if every elemnt from a form is filled JQUERY

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

有人能告诉我为什么吗?

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

您可以使用 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>