现在A表单和B表单,
java
<form id="Aform">
······
</form>
<form id="Bform">
······
</form>
目的是Ajax上传时合并两张form的数据,再上传;很明显,这应该在JS部分进行操作
java
var formA = $("#Aform").serializeJson();
var formB = $("#Bform").serializeJson();
$.ajax({
······
data:$.extend({},formA,formB),······
});
//form数据转为{name : xx,value : xxx ······}格式
$.fn.serializeJson=function(){
var serializeObj={}; // 目标对象
var array=this.serializeArray(); // 转换数组格式
// var str=this.serialize();
$(array).each(function(){ // 遍历数组的每个元素 {name : xx,value : xxx}
if(serializeObj[this.name]){ // 判断对象中是否已经存在 name,如果存在name
if($.isArray(serializeObj[this.name])){
serializeObj[this.name].push(this.value); // 追加一个值 hobby : ['音乐','体育']
}else{
// 将元素变为 数组 ,hobby : ['音乐','体育']
serializeObj[this.name]=[serializeObj[this.name],this.value];
}
}else{
serializeObj[this.name]=this.value; // 如果元素name不存在,添加一个属性 name:value
}
});
return serializeObj;
};