2011-07-05 76 views
1

我已经成功创建了一个无限循环。有人能告诉我如何重写这个,所以如果ajax请求失败,表单被提交,所以服务器端验证可以处理它。jquery - 提交表单上的ajax错误?

$('form#loginForm').submit(function(evt) { 
    evt.preventDefault(); 

    // We rely on HTML5 validation for the validation - this checks if the account is valid. 

    $.ajax({ 
     type: "POST", 
     url: "some.php", 
     error: function(msg) { 
      alert(1); 
      $('#loginForm').submit(); 
     } 
    }); 
}); 

回答

6

从你的代码中,当你调用error函数提交时,你调用的是和ajax调用相同的函数。如果你只是想提交表单而不做这个Ajax调用,你需要重新提交submit函数;

$('form#loginForm').submit(function(evt) { 
    evt.preventDefault(); 

    // We rely on HTML5 validation for the validation - this checks if the account is valid. 

    $.ajax({ 
     type: "POST", 
     url: "some.php", 
     error: function(msg) { 
      alert(1); 
      //rebind submit function to not do ajax call 
      $('#loginForm').submit(new function(){return true;}); 
      //then call submit 
      $('#loginForm').submit(); 
     } 
    }); 
});