如何获取表单数据作为jQuery中的对象
我试过jQuery('#form_id').serialize()
。 这只返回表单数据作为url编码的string。 是否有可能获取表单数据作为一个对象?
你有没有尝试过“serializeArray”? 这给你一个名称和值的数组。 你可以把它变成一个对象,如果你想:
var paramObj = {}; $.each($('#myForm').serializeArray(), function(_, kv) { paramObj[kv.name] = kv.value; });
(我将不得不再次检查jQuery如何处理数组;我认为它将它们编码为Javascript数组值,但我不是100%确定的。)
编辑啊不,它没有设置多值参数作为数组 – 你得到重复相同的名字。 因此,make-an-object代码应该如下所示:
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; } });
(或类似的东西,可能会被挤压一点。)
你可以看看serializeArray函数:
$('#form_id').serializeArray()