【发布时间】:2013-05-13 10:55:44
【问题描述】:
下面的代码从表单中获取输入并从处理程序中获取结果。此电子邮件发送并正常工作;但是,我的代码是否不正确,因为我有提交按钮而不是按钮?我认为这没关系,因为我在 click 函数中返回 false。也许使用按钮值会是一个更好的主意,并在表单中取出操作,因为它已经在 ajax 中?
<div id="result">
</div>
<form action="handler.php" id="contact-form">
<input type="text" name="name" class="clear">
<input type="text" class="clear">
<textarea name="message" class="clear">
</textarea>
<input type="submit" value="Send" id="submit-form">
</form>
$("#submit-form").click(function() {
$.ajax({
type: "POST",
url: "handler.php",
data: $("#contact-form").serialize(),
success: function(response) {
$('#result').html(response);
}
});
return false;
});
【问题讨论】:
-
如果用户在其中一个输入时按下 Enter 键会怎样。这不会触发您的点击处理程序,而是像往常一样将您的表单提交给 handler.php。
-
@pXL 啊,我明白了,我只是尝试在输入时提交表单,但一切仍然照常工作,而不是去处理程序,因为我在处理程序中回显了一些东西。如果它转到处理程序,它将是一个带有段落的空白页;相反,我用 ajax 得到了结果。这只是浏览器的事情吗?
标签: jquery ajax forms button submit