2012-09-18 98 views
2

我有许多通过PHP动态生成的表单。我试图验证将要提交的表单上的所有字段都已填充。我刚刚开始使用JQuery,所以如果答案非常简单,我很抱歉。具有相同提交功能的不同表单

我尝试这样做:

$('.myform').submit(function(){  
    var flag = true; 
    $('.myform input').each(function() { 
     if($(this).val() === ''){ 
      flag = false; 
      return false; 
     } 
    }); 
    return flag; 
}); 

但是,当在第二种形式,它会和检查第一个(因为你没有填写一个应该是空的......)

提前致谢!

回答

3
$('.myform').submit(function(){  
    var flag = true; 
    // use $(this) below which is the form has submit event fired. 
    $(this).find('input').each(function() { 
     if($(this).val() === ''){ 
      flag = false; 
      return false; 
     } 
    }); 
    return flag; 
}); 

或者,您可以通过简化代码:

$('.myform').submit(function() { 
    return $(this).find('input').filter(function() { 
     return $.trim($(this).val()) !== ''; 
    }).length == 0; 
}); 
+0

你也应该修剪'.VAL()'。另外,你可以避免重复只是说'返回标志=假;'? – jeremy

+0

非常感谢,完美的工作! – Kirby

+0

@Kirby不客气:) – xdazz

相关问题