使用submit异步提交,阻止表单默认提交

时间:2023-03-08 18:01:11
使用submit异步提交,阻止表单默认提交

<form id="addForm" onSubmit="return false;">

<input type="submit" value="保存"  onclick="saveForm()" style="margin-left:15px;">

js方法:

function saveForm() {
$.ajax({
type: "POST",
datatype: "json",
url: cPath + "/system/appAuthUser/save.htm",
timeout: 2000,
async: false,
data:$('#addForm').serialize(),//
error: function(request) {
alert("数据保存失败!");
},
success: function(res) {
var data=eval("("+res+")");
if(data.success){
alert("数据保存成功!");
refresh();
}else{
alert(data.message);
}
}
});
return false;s
}

不可使用如下js方法

submit,会被表单上的onSubmit="return false;"阻止
$('#saveButton').submit(function() {
$.ajax({
type: "POST",
datatype: "json",
url: cPath + "/system/appAuthUser/save.htm",
timeout: 2000,
async: false,
data:$('#addForm').serialize(),//
error: function(request) {
alert("数据保存失败!");
},
success: function(res) {
var data=eval("("+res+")");
if(data.success){
alert("数据保存成功!");
refresh();
return false;
}else{
alert(data.message);
}
}
});
return false;
});

如果不使用onSubmit="return false;" 则会使表单先异步提交一次,再默认提交一次。还有一种解决方案是页面不要用submit,使用button ,这样也会只异步提交一次