Jquery 有没有办法发送包含整数和字符串的表单数据?
使用ajax和jQuery发送表单时,通常使用方法Jquery 有没有办法发送包含整数和字符串的表单数据?,jquery,json,ajax,html,forms,Jquery,Json,Ajax,Html,Forms,使用ajax和jQuery发送表单时,通常使用方法$(this).serialize()或$(this).serializeArray()将表单转换为JSON对象。问题是JSON中的所有值都是字符串类型。我有一个表单,其中输入有数字: <label for="name">name:</label> <input class="w-input input" id="name" name="name" placeholder="Enter your name" type
$(this).serialize()
或$(this).serializeArray()
将表单转换为JSON对象。问题是JSON中的所有值都是字符串类型。我有一个表单,其中输入有数字:
<label for="name">name:</label>
<input class="w-input input" id="name" name="name" placeholder="Enter your name" type="text" required>
<label for="age">Age</label>
<input class=input" id="age" name="age" placeholder="Enter your age" type="number" required>
名称:
年龄
如果需要此行为,请使用以下自定义代码:
JS
如果需要此行为,请使用以下自定义代码:
JS
不是真的。。。它导致了什么具体问题?可能会添加一个具有输入类型的数据属性,以便您可以在服务器上解析它?不太可能。。。它会导致什么具体问题?可能会添加一个具有输入类型的数据属性,以便您可以在服务器上对其进行解析?非常欢迎,这是什么变化,以便具有相同问题的任何人都可以知道最终答案?非常欢迎,这是什么变化,以便具有相同问题的任何人都可以知道最终答案?
function serialize(form_id) {
var inputs = document.getElementById(form_id).getElementsByTagName("input");
var result = []
for (var i = 0; i < inputs.length; i++) {
var value = inputs[i].type == "number" ? inputs[i].value * 1 : inputs[i].type;
var obj = {
"value": value
};
if (inputs[i].name)
obj["name"] = inputs[i].name;
result.push(obj);
}
return result;
}
<form id="myform" name="myform">
<label for="name">name:</label>
<input class="w-input input" id="name" name="name" placeholder="Enter your name" value="Amr" type="text" required>
<label for="age">Age</label>
<input class="input" id="age" name="age" placeholder="Enter your age" value="19" type="number" required>
</form>
serialize("myform");