2013-04-07 63 views
2

我是AJAX新手。使用ajax提交表單並留在註冊頁面

我試圖提交與阿賈克斯形式使用以下邏輯:

//validate form 

//if invalid never submit 
//if valid, ajax request to get msg 
    //get success html if no server side errors exist. Replace sign up page with success html 
    //get fail message if server side errors exist, so the user can correct them (ex. invalid credit card no) 

我的AJAX:

$("form").submit(function(e){ 
    if($(this).valid()) { 

     $.ajax({ 
     url: 'formAction.php', 
     type: 'POST', 
     success: function(data){ 
      /*convert php variables to JavaScript ones*/ 
      if(success==true){ 
       //relpace current page with confirmation 
      } 
      if(success==false){ 
       //print out errors and allow user to re-submit 
      } 
     }       
    });   

    } 
    e.preventDefault; 
}); 

如果我在正確的軌道與此實現上我想知道?或者如果這種實現甚至是可能的?

我非常感謝任何建議,使這個實施工作。

非常感謝提前!

+0

你在正確的軌道上,但你需要獲取你的表單數據到一個JavaScript變量來使用你['$ .post'](http://api.jquery.com/jQuery。 post /)並添加'data:myFormData' – Jon 2013-04-07 18:15:16

回答

3
$("form").submit(function(e){ 
    if($(this).valid()) { 

     $.ajax({ 
     url: 'formAction.php', 
     data: $(this).serialize(), //You need to provide this, serialize may work here 
     type: 'POST', //Added single quote to prevent unterminated string literal 
     success: function(data){ 
      //call was successful since success message was called 
     },//Don't forget closing curly brace on function 
     error: function(data){ 
      //Specify a call back for errors 
     }       
    });   

    } 
    e.preventDefault; 
}); 
+0

感謝您的回覆。這種方法是否會自動獲取所有表單數據,或者是否需要以某種方式在我的ajax調用中使用'data'來獲取它?我想使用標準的'$ _POST'變量在我的動作腳本中訪問我的表單變量... – AnchovyLegend 2013-04-07 18:17:51

+0

您仍然需要獲取表單數據。 – Jon 2013-04-07 18:18:51

+0

@MiGusta你需要添加數據 – 2013-04-07 18:18:54