【发布时间】:2012-06-01 05:17:57
【问题描述】:
我有一个使用 jQuery 中的.ajax() 方法提交的联系表单,以便在不刷新页面的情况下提交表单。它适用于除 IE 之外的所有浏览器,它非常适合并坚持刷新页面。
这是我的代码:
function appointmentform() {
$("#appointment-form").on("submit", function(e) {
// serialize all input data
var dataString = $(this).serialize();
console.log(dataString);
// if there are no inputs with errors
if ($("input.required.error").length < 1) {
// ajax call to mail.php script
$.ajax({
type: "POST",
url: "http://www.thesalonleamingtonspa.com/mail",
data: dataString,
success: function() {
// success notice
}
});
}
// cancel form submit
if (e.preventDefault) {
e.preventDefault();
} else {
e.returnValue = false;
}
});
}
我意识到e.preventDefault() 对 IE 没有任何意义,但我认为e.returnValue = false 是等价的。有人知道为什么它不适合我吗?
编辑:问题子在于 IE8。
【问题讨论】:
-
我会写像
<form ... onsubmit="return false"></form>这样的表单标签 -
在 IE 8 中使用 jQuery 的
preventDefault()从来没有遇到过任何问题。 -
@inhan,他在使用 jQuery,所以内联 JavaScript 是丑陋且不必要的。
标签: javascript jquery forms return-value preventdefault