为了账号安全,请及时绑定邮箱和手机立即绑定

请问用js序列化表单obj[this['name']])是什么意思

请问用js序列化表单obj[this['name']])是什么意思

梵蒂冈之花 2022-03-24 15:15:12
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和值组合的数组对象。

查看完整回答
反对 回复 2022-03-28
?
狐的传说

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值重复,则取第一个。



查看完整回答
反对 回复 2022-03-28
  • 2 回答
  • 0 关注
  • 146 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信