2013-04-07 96 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