色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

jquery.form提交數(shù)組

錢瀠龍1年前8瀏覽0評論

jQuery Form插件是一個非常流行的Ajax上傳插件,它可以讓我們輕松地處理表單提交的數(shù)據(jù)。其中一個常見的問題就是如何提交數(shù)組類型的數(shù)據(jù)。當我們有一些表單元素的值是數(shù)組時(比如多選框),我們需要將這些數(shù)組值包裝成一個對象,然后進行提交。

$('form').submit(function(){
var formData = $(this).serializeArray();
var arr = [];
$.each(formData, function(){
if(this.name.match(/\[\]$/)) {
var name = this.name.substr(0, this.name.length - 2);
arr[name] = arr[name] || [];
arr[name].push(this.value);
} else {
arr[this.name] = this.value;
}
});
$(this).ajaxSubmit({
url: '/example',
type: 'post',
data: {data: arr},
success: function(response){
// handle success
},
error: function(){
// handle error
}
});
});

首先,我們將表單元素的值序列化為一個數(shù)組formData。接下來,我們創(chuàng)建一個空數(shù)組用于存放包裝后的數(shù)據(jù)arr。

然后,我們使用each()方法遍歷formData數(shù)組中所有的表單元素,對于數(shù)組類型的表單元素,我們將其包裝成一個對象,對象的key為該元素的name屬性值,value為該元素的value屬性值。對于非數(shù)組類型的表單元素,我們將key和value直接存入數(shù)組arr中。

最后,我們使用ajaxSubmit()方法提交表單數(shù)據(jù),將數(shù)組arr包裝成一個對象放入data屬性中進行提交,并在成功和失敗的回調(diào)函數(shù)中對返回結果進行處理。