form 表單的 submit 是不能進行異步提交以及執行回調函數的,我們可以通過 jquery 的 form 組件實現這一點。
引入依賴:jquery.js,jquery.form.js
拿到我們表單的 jquery 對象 $(?)
構造 option:
var options = { type: 'POST', url: url, success: 執行成功的回調函數對象, dataType: 'json', error: function (xhr, status, err) { alert("操作失敗"); } };
執行 $(?).ajaxSubmit(options); 即可進行表單提交,但需要注意的是,為防止表單提交多次,應在 ajaxSubmit 方法后 return false;
options 的主要參數有:
var options = { target: '#output1', // 要用服務器響應更新的目標元素 beforeSubmit:showRequest, // 提交前回調 success:showResponse, // 提交后回調 // 其他可用選項: url:url, // 覆蓋表格的'action'屬性 type:type, // 'get'或'post',覆蓋表格的'method'屬性 dataType: null, // 'xml', 'script'或'json'(期望的服務器響應類型) clearForm:true, // 成功提交后清除所有表單字段 resetForm:true, // 成功提交后重置表單 // $ .ajax選項也可以在這里使用,例如: timeout:3000 };