我想获取提交表单而不重新加载页面。jquery,AJAX表单提交不起作用。页面崩溃
这里的脚本:
$(function() {
$("#submit").click(function() {
var email = document.getElementById('emailaddress');
var filter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
if (!filter.test(email.value)) {
$('#invalidmail').show();
var t=setTimeout(function(){$('#invalidmail').fadeOut("slow");},2000);
email.focus;
return false;
} else {
$.ajax({
type: "POST",
url: "traces_form_handler.cgi",
data: email,
success: function(){
alert("success!");
}
});
alert("success!");
return false;
};
});
});
</script>
和这里的HTML
<form name="form" method="post">
Email: <input type="text" name="email" id="emailaddress" />
<input type="submit" value="Submit" id="submit"/>
</form>
<p id="invalidmail">Ops! The address you provided is not valid. Please retry.</p>
它的工作原理,直到无效邮件的一部分,但如果我提出一个有效的电子邮件地址,浏览器崩溃。
有什么建议吗?
谢谢
您需要防止默认提交表单的行动。您正在发送AJAX请求*和*同时提交表单。 – 2012-03-16 17:43:17
您还尝试过哪些浏览器? – Lix 2012-03-16 17:44:20
@Diodeus不是'返回false';'呢? Lix chrome! – lorussian 2012-03-16 17:46:14