0

我已经在 jQuery 中设置了一些验证,我想在提交表单之前运行这些验证。但是,当我使用“preventDefault”并尝试在验证通过后最后提交表单时,它不会。

$(function(){
   $('#submit').click(function(e){
      e.preventDefault();
      if(..... // validation done here
      ....
      if(error === 1){
         ....
      }
      if(error === 0){
       $('#signup').submit(); // not working
      }
   });
});
4

3 回答 3

1

进行验证,如果一切正常,则让它继续,如果没有,则调用 preventDefault。

$(function(){
   $('#submit').click(function(e){

      if ... // validation done here

      if(error === 1){
       e.preventDefault();
       ...
      }
   });
});
于 2013-11-01T10:13:20.980 回答
1

尝试这个

 $(function(){
       $('#submit').click(function(e){

          if(..... ){// validation done here
          ....
          }
          if(error === 1){
             e.preventDefault();
          }
          else
          {
           $('#signup').submit(); // not working
          }
       });
    });
于 2013-11-01T10:14:07.060 回答
0

可能,您更喜欢处理submit-event:在这种情况下,您可以返回false以防止提交。

$(function(){
   $('form').submit(function(e){
      if(..... // validation done here
      ....
      if(error === 1){
         ....
      }
      return (error === 0);           
   });
});
于 2013-11-01T10:14:27.127 回答