function serializeForm(form){var obj = { };$.each(form.serializeArray(),function(index){if(obj[this['name']]){obj[this['name']] = obj[this['name']] + ','+this['value'];}else {obj[this['name']] =this['value'];}});return obj;}
2 回答
MYYA
TA贡献1868条经验 获得超4个赞
form.serializeArray()//取得form里的表单对象,也就是每一个input,select等
$.each是像for一样的循环,按序列获取没一个对象。
each里的this指的当前的ipnut,select等,获取ipnut的name属性值
obj[this['name']] =this['value'];最后返回由name和值组合的数组对象。
狐的传说
TA贡献1804条经验 获得超3个赞
将表单序列化成JSON对象
jQuery.prototype.serializeObject=function(){
var obj=new Object();
$.each(this.serializeArray(),function(index,param){
if(!(param.name in obj)){
obj[param.name]=param.value;
}
});
return obj;
};
设有form中有username,password两个input,看效果
$("form").serializeArray()
[{"name":"username","value":""},{"name":"password","value":""}]
$("form").serializeObject()
{"username":"","password":""}
serializeObject仅适用于name值不重复的情况,若name值重复,则取第一个。
添加回答
举报
0/150
提交
取消