Jquery Ajax 表单提交
Posted
技术标签:
【中文标题】Jquery Ajax 表单提交【英文标题】:Jquery Ajax Form Submission 【发布时间】:2011-04-23 06:54:08 【问题描述】:我正在尝试在 Jquery 中提交 Ajax 表单。表单本身是通过 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()
- 不确定这里需要什么)。您绝对必须以某种方式停止提交事件。
【讨论】:
返回:假;和 event.preventDefault()>>>> 都试过了。只有页面重新加载。 您好,感谢您的回答。这确实是问题所在。 function(e)..... e.preventDefault();以上是关于Jquery Ajax 表单提交的主要内容,如果未能解决你的问题,请参考以下文章