2011-07-05 17 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

あなたのコードから、エラー関数でsubmitを呼び出すときには、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(); 
     } 
    }); 
}); 
関連する問題