2010-10-09 208 views
0

我想在jQuery中提交一個Ajax表單提交。表單本身是通過一個Ajax事件jquery Ajax表單提交

表單元素看起來像這樣

<form id="create_user form" action="http://127.0.0.1/create_user" method="post"> 

    <p>Name 
    <input type="text" name="name" value="" id="name"></p> 
    <p>Employee Number:<br> 
    <input type="text" name="emp_no" value="" id="emp_no"></p> 
    <p>Email:<br> 
    <input type="text" name="email" value="" id="email"></p> 

    <p><input type="submit" name="submit" value="Save"></p> 

    </form> 

當爲HTML加載它工作正常加載。

但是我想通過Ajax事件

所以結果看起來像文件準備函數內部的

<div class="admin_main" id="admin_main"> 
<form id="create_user form" action="" method="post"> 

    .....Form...... 
<p><input type="submit" name="submit" value="Save"></p> 
</form> 

</div> 

jQuery代碼將其加載到另一頁是

$("#admin_main").delegate("#create_user_form", "submit", function() { 
    $.post('http://127.0.0.1/create_user', $("#create_user_form").serialize(), function (data) { 
     $("#admin_main").html(data); 
    }, "html"); 
}); 

然而這只是重新加載頁面的效果。我已經呆了好幾個小時了。我哪裏錯了?

回答

1

我想你忘了return: false;(或event.preventDefault()/event.stopPropagation() - 不知道這裏需要什麼)在提交功能。你肯定必須以某種方式停止提交活動。

+0

return:false;和event.preventDefault()>>>>都嘗試過。只有頁面重新加載。 – 2010-10-09 19:29:46

+0

嗨,謝謝你的回答。這確實是個問題。函數(e){.....} e.preventDefault(); – 2010-10-09 19:41:53