2011-09-23 51 views
2

我的页面上有一个表单,下面的代码。但是,当我点击提交,似乎我的网页刷新。jQuery.post刷新我的页面?

形式:

<form action='#' method='post'> 
    <div><input type='text' name='name' /></div> 
    <div><input type='submit' value='Save' /></div> 
</form> 

JS:

<script type='text/javascript'> 
    $(document).ready(function() { 
     $('form').bind('submit',function() { 
      var str = $('form').serialize(); 

      $.post("save.php", { formString: str }, 
       function(data) { 
        alert("Saved: " + data); 
       } 
      ); 

     }); 
    }); 
</script> 

非常感谢您的帮助!

回答

7

设置

return false; 

您的形式(例如对onsubmit)。您的表单由jQuery($ .post)和页面本身发布,因为您不会停止这样做。另一个选项(工作原理相同)是让jquery-part禁用表单的默认行为:

//your code 
$('form').bind('submit',function() { 
    // more of your code 
    return false; 
} 
+0

感谢您的回复@Snicksie,但我在哪里返回false? – Emkey

+0

我建议使用我给你的代码的第二部分,但是如果你更喜欢'return false;',就把它放在这里:'form action =“#”method =“POST”onSubmit =“return false;” >' – Snicksie

+0

e.preventDefault();仍然刷新我的页面,并不保存我的输入。 – Emkey