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