我有一个包含所有类型的表单元素的表单,我有一个代码应该遍历每个元素并在单击提交按钮后检查它们的值。不幸的是,这段代码并没有完全发挥作用。我的意思是,如果我没有在输入中输入任何值,它将打印消息,但如果我在其中输入一些文本,我们将转到else语句,而不检查另一个。
有人可以告诉我为什么吗?
if($('form.registration-form :input').val() == '')
{
// Print Error Message
}
else
{
// Do something else
}
答案 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>