此方法需要引入jquery.form.js 文件
前言
使用Form表單提交數(shù)據(jù)轩褐,并產(chǎn)生異步回調(diào)椎咧。
遇到一個ajaxForm不回調(diào)問題 --已解決
ajaxForm: 兩個主要的API:ajaxForm() ajaxSubmit();
$("#form").ajaxForm(options);
使用ajaxForm并不是馬上的提交,需要執(zhí)行submit()
$("#form").ajaxForm(options).submit();
并且,ajaxForm提交方式勤讽,不會自動調(diào)用success\error\beforeSubmit 等回調(diào)方法蟋座。
如果需要使用自動回調(diào)的方式,可以使用ajaxSubmit 的方式發(fā)起提交脚牍。
var options={
url:url, //form提交數(shù)據(jù)的地址
type:action, //form提交的方式(method:post/get)
dataType:"json", //服務(wù)器返回?cái)?shù)據(jù)類型
clearForm:false, //提交成功后是否清空表單中的字段值
restForm:false, //提交成功后是否重置表單中的字段值向臀,即恢復(fù)到頁面加載時的狀態(tài)
// target:target, //服務(wù)器返回的響應(yīng)數(shù)據(jù)顯示在元素(Id)號確定
// beforeSubmit:function(), //提交前執(zhí)行的回調(diào)函數(shù)
success:function(data,statusText){//提交成功后執(zhí)行的回調(diào)函數(shù)
if (data && data.code == "0") {
location.href = ActionUrl + "sellerjump/toMyShop";
}else {
alert(data.codeMsg);// 提示
}
},
error:function(data){//提交失敗后執(zhí)行的回調(diào)函數(shù)
alert("網(wǎng)絡(luò)異常");
},
timeout:6000 //設(shè)置請求時間,超過該時間后诸狭,自動退出請求券膀,單位(毫秒)。
};
這里提供一個Form表單驗(yàn)證方式
html:{
<input type="text" name="shopName" class="weui-input" placeholder="請輸入店鋪名稱"/>
shopName等字段為html代碼中input標(biāo)簽的name屬性值
}
var form = document.getElementById("form");
// 表單驗(yàn)證
with (form) {
if (validate_required(shopName,"店鋪名稱不能為空!")==false) {
return false
}
if (validate_required(shopProfile,"店鋪簡介不能為空!")==false) {
return false
}
if (validate_required(telephone,"聯(lián)系電話不能為空!")==false) {
return false
}
if (validate_required(shopAddress,"店鋪地址不能為空!")==false) {
return false
}
if (validate_required(shopLng,"店鋪地址位置錯誤!")==false) {
return false
}
if (validate_required(shopLat,"店鋪地址位置錯誤!")==false) {
return false
}
if (validate_required(shopImage,"店鋪圖片不能為空!")==false) {
return false
}
}
// 表單驗(yàn)證
function validate_required(field,alerttxt) {
with (field) {
if (!field.value) {
$.toptip(alerttxt, 'warning');
return false
}else {
return true
}
}
}