Javascript 检查表单中的每个元素是否已在JQUERY中填写

Javascript 检查表单中的每个元素是否已在JQUERY中填写,javascript,jquery,html,forms,input,Javascript,Jquery,Html,Forms,Input,我有一个包含所有类型表单元素的表单,我有一个代码,它应该运行在每个元素中,并在单击submit按钮后检查它们的值。不幸的是,这段代码并不完全有效。我的意思是,如果我没有在输入中输入任何值,它将打印消息,但是如果我在其中输入一些文本,我们将转到else语句,而不检查其他语句 谁能告诉我为什么 if($('form.registration-form :input').val() == '') { // Print Error Message } else {

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

谁能告诉我为什么

if($('form.registration-form :input').val() == '')
    {
        // Print Error Message
    }
else
    {
        // Do something else
    }
您可以使用此方法:

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
}
$(“#提交”)。单击(函数(){
var emptyElements=$('form.registration-form:input').filter(函数(){
返回此值。值=='';
});
if(emptyElements.length==0){
警报(“全部填充”);
}否则{
警报(“1个或多个未填充”)
}
});


trim()也可以,可能有人输入空格,空格作为空白字符
$('form.registration-form:input')
返回所有表单控件,但添加
.val()
只返回集合中第一个的值。我将进行2次调整。1:更改
$(this).val()!=''
此.value!=''。2:我会让它
this.value==''
然后
如果(notEmpty.length==0)
。它消除了创建其他jQuery对象的需要。请注意,我也将更改为var名称,因为它没有任何意义。+1。@Karl AndréGagnon谢谢,对于建议,我已经更新了我的答案。哦,谢谢。你帮我节省了很多上网搜索的时间。:)@卡尔·安德烈·加农是的,你是对的!谢谢再次更新。没有更好的地方,我做了一把小提琴,如果你愿意,你可以把它整合到你的答案中: