如何使用jquery将表单数据作为对象获取
如何使用jquery将表单数据作为对象获取
这个问题已经有了答案:
我已经尝试过jQuery(\'#form_id\').serialize()
。这只返回表单数据作为URL编码字符串。是否可能将表单数据作为对象获取?
admin 更改状态以发布 2023年5月23日
你试过使用 "serializeArray" 吗?它会给你一个名称和值的数组。如果你想的话,也可以把它转换成对象:
var paramObj = {}; $.each($('#myForm').serializeArray(), function(_, kv) { paramObj[kv.name] = kv.value; });
(我得再检查一下 jQuery 对数组的处理方式;我想它会将它们编码为 JavaScript 数组值,但我不确定。)
编辑 啊不,它不会将多值参数设置为数组 - 你会得到相同名称的重复值。因此,制造对象的代码应该是这样的:
var paramObj = {}; $.each($('#myForm').serializeArray(), function(_, kv) { if (paramObj.hasOwnProperty(kv.name)) { paramObj[kv.name] = $.makeArray(paramObj[kv.name]); paramObj[kv.name].push(kv.value); } else { paramObj[kv.name] = kv.value; } });
(或者类似的代码;可能还可以再压缩一点。)