2011-09-23 74 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