【发布时间】:2013-01-09 12:50:16
【问题描述】:
我有一个类似下面的表格:
<form method="post" action="mail.php" id="myForm">
<input type="text" name="fname">
<input type="text" name="lname">
<input type="text" name="email">
<input type="submit">
</form>
我是 AJAX 新手,我想要完成的是当用户单击提交按钮时,我希望 mail.php 脚本在后台运行而不刷新页面。
我尝试了类似下面的代码,但是,它似乎仍然像以前一样提交表单,而不是像我需要的那样(在幕后):
$.post('mail.php', $('#myForm').serialize());
如果可能,我希望获得使用 AJAX 实现此功能的帮助,
在此先感谢
【问题讨论】:
-
您需要阻止默认操作。尝试阻止 jquery 中的默认功能
-
@EdwinAlex 或者只使用简单的
button而不是submit -
@DaHaKa 我们也可以更改它。但是为什么我们需要在脚本本身有选项时需要。
-
在标记中更改它也很有意义 - 提交按钮专门用于告诉表单它需要提交。使用按钮代替意味着无需担心停止的默认行为(例如,preventDefault 或 return false),并且总体而言,更少的 Javascript。
-
更改标记的问题是您删除了禁用 javascript 的任何人的内置冗余。
标签: javascript jquery ajax