Kirby
Kirby

Reputation: 455

Different forms with the same Submit function

I have many forms generated dynamically via PHP. I'm trying to verify that all the fields on the one form that's going to be submitted are filled. I'm just starting to JQuery, so I'm sorry if the answer is stupidly easy.

I tried this:

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

But when in the second form, it goes and checks the first one (which should be empty because you're not filling that one...)

Thanks in advance!

Upvotes: 2

Views: 42

Answers (1)

xdazz
xdazz

Reputation: 160833

$('.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;  
});

Or you could simplify your code by:

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

Upvotes: 3

Related Questions