在为动态表单提交jQuery之前检查字段是否为空

时间:2013-10-01 09:21:27

标签: jquery validation dynamic-forms

美好的一天。

我有多个动态表单,输入字段总数未知,

我想使用简单的验证功能,例如:

function check_submit() {
  if ($(this).val().length == 0) {
    $(":submit").attr("disabled", true);
  } else {
    $(":submit").removeAttr("disabled");
  }
}

由于我将在不同动态表单的数量上使用相同的功能,每个动态表单都有自己的"必填字段"我希望能够传递需要填充的未知数量的类,该函数应该确保该类中的每个字段都被填充。

有什么建议吗?

3 个答案:

答案 0 :(得分:1)

请尝试以下代码:

$('form.classnameofelement').each(function(){
 if($(this).val().length != 0){
    // do somthing;
  }else{
    // do nothing;
  }
});

如果有任何疑问,请告诉我。

感谢。

答案 1 :(得分:0)

您可以为支持它的浏览器使用“required”属性。对于那些没有的人,你可以做到以下几点:

更新您的输入:

<input name="test1" required>
<input name="test2" required>
<input name="test3" required>

您可以检查所有输入是否具有如下值:

var unfilled = $('[required]').filter(function() {
    return $(this).val().length === 0;
});

if (unfilled.length > 0) {
    // still unfilled inputs
    unfilled.css('border', '1px solid red');
}

答案 2 :(得分:0)

我已经离开这几天了, 但今天我设法创建了一个工作函数

$( "form" ).submit(function( event ) {
var empty_fields = [];
$(".chck").each(function(){
   if($(this).val().length !=0 ) {
       return;
   }else{
       empty_fields.push($(this).attr('name'));
       event.preventDefault();}
   });
if(empty_fields){
   alert(empty_fields);
}

});

我只需要确保所有必填字段都有class =“chck”, 我希望有人会在将来发现它有用。