1.表單提交
submit() 方法觸發 submit 事件,或規定當發生 submit 事件時運行的函數。$(selector).submit(function)
使用 preventDefault() 函數來阻止對表單的提交。
ajaxSubmit()提交表單,使用第三方插件jquery.form實現;
通常情況下,我們直接通過form提交的話, 提交后當前頁面跳轉到form的action所指向的頁面。然而,很多時候我們比不希望提交表單后頁面跳轉,那么,我們就可以使用ajaxSubmit(obj)來提交數據。
$('button').on('click', function() {
$('form').on('submit', function() {
var title = $('inpur[name=title]').val(),
content = $('textarea').val();
$(this).ajaxSubmit({
type: 'post', // 提交方式 get/post
url: 'your url', // 需要提交的 url
data: {
'title': title,
'content': content
},
success: function(data) { // data 保存提交后返回的數據,一般為 json 數據
// 此處可對 data 作相關處理
alert('提交成功!');
}
$(this).resetForm(); // 提交后重置表單
});
return false; // 阻止表單自動提交事件,必須返回false,否則表單會自己再做一次提交操作,並且頁面跳轉
});
});
如果要提交之后返回數據再觸發ajax異步交互(實際就是一個按鈕觸發兩個事件,后一個事件要等前一個事件完成的情況才觸發)
$("#uploadImage").on("submit",function () { //觸發form表單提交,url寫在form標簽
$("#uploadImage").ajaxSubmit(options); // form表單提交后觸發
return false; // 必須返回false,否則表單會自己再做一次提交操作,並且頁面跳轉
});
var options = {
//target: '#picSrc', //把服務器返回的內容放入id為picSrc的元素中
//beforeSubmit: function({
}), //提交前的回調函數
success:function (backData) { //提交后的回調函數
var sendData={
"srcImageFile":backData.serviceIcon,
"result":backData.serviceIcon,
};
$.ajax({
url:"/Wisdom/smartCampus/service/cutPicture",//交互地址
type:"post",//方法
//dataType:"json",
contentType:"application/json",//頭部
data:JSON.stringify(sendData),//數據
success:function (backData) {
$("#uploadImage").resetForm();//重置表單
}
})
},
timeout: 3000 //限制請求的時間,當請求大於3秒后,跳出請求
};