kev*_*vin 59 javascript jquery
我试过了jQuery('#form_id').serialize().这仅返回表单数据作为url编码的字符串.是否可以将表单数据作为对象?
Poi*_*nty 96
你试过"serializeArray"吗?这会为您提供一系列名称和值.如果您想要,可以将其转换为对象:
var paramObj = {};
$.each($('#myForm').serializeArray(), function(_, kv) {
paramObj[kv.name] = kv.value;
});
Run Code Online (Sandbox Code Playgroud)
(我将不得不再次检查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;
}
});
Run Code Online (Sandbox Code Playgroud)
(或类似的东西;可能会被挤压一点.)
Dar*_*rov 34
您可以查看serializeArray函数:
$('#form_id').serializeArray()
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
93544 次 |
| 最近记录: |