使用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 ,这样也会只异步提交一次