【发布时间】:2018-05-21 03:26:12
【问题描述】:
我想将所有表单值转换为 JSON,以便可以在我的 AJAX POST 中将 JSON 作为正文发送。我在网上找到了这个现有的解决方案:
function getFormData($form){
var unindexed_array = $form.serializeArray();
var indexed_array = {};
$.map(unindexed_array, function(n, i){
indexed_array[n['name']] = n['value'];
});
return indexed_array;
}
用法:
var $form = $("#form_data");
var data = getFormData($form);
但是,这种方法 (source) 将所有值转换为字符串类型,它不会将数字保留为整数。我想不出一种方法来保留值的类型。最好的方法是什么?
HTML:
<form id="myform">
<div>
<label>Number: </label>
<input id="mynum" type="number" name="mynum"/>
</div>
<div>
<label>name: </label>
<input id="myname" type="text" name="myname"/>
</div>
</form>
【问题讨论】:
标签: javascript jquery arrays json forms