我有一个包含多个表单字段的设置。
<input type='text' id='Trait1' >0</input>
<input type='text' id='Trait2' >1</input>
<input type='text' id='Trait3' >2</input>
<input type='text' id='Trait4' >3</input>
(使用的数据仅作为示例)
当我使用
$.JSON.Stringify(form.serializeArray());
我得到类似..
[{'name','Trait1','value','0'}]
等等
这转换得不好,因为所有尝试从json反序列化的事物都将“名称”和“值”视为实际对象(其中“ trait1”和“ 0”是实际对象)。
有什么我可以做的吗?
最佳答案
看一下这篇博客文章:
http://www.foreachbit.com/2010_09_01_archive.html
或简而言之,您可以使用如下方法来删除名称和值:
var formVals = $('#MyForm').serializeArray();
var jsonObj = {};
for (i in formVals)
jsonObj[formVals[i].name] = formVals[i].value;
var submitVals = $.toJSON({ "MyFormData": jsonObj });
其中$ .toJSON是Stringify方法。
哦,哈曼是绝对正确的。在输入中使用value属性。
关于jquery - 来自多个表单字段的json2,在jQuery中获取错误的值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3972220/