[英]What is the best way to get all form inputs data with jQuery?
假设我有一个带有ID的表格以及所有输入,复选框,无线电等字段。
检索所有值的最佳方法是什么? 我的意思是在所有字段中放置一个ID或在javascript/jquery
序列化form
?
代码很常见。
<head>
<script src="jquery.min.js"></script>
</head>
<form id="f1">
<input type="text" name="firstname">
<br>
Last name:<br>
<input type="text" name="lastname" value="Mouse">
<br><br>
<input type="button" id="b1"value="Submit">
<input type="checkbox" name="cb[]" value="1"/>
<input type="checkbox" name="cb[]" value="2"/>
<input type="checkbox" name="cb[]" value="3"/>
</form>
<script>
$(document).ready(function(){
$("#b1").click(function(){
//console.log($("#f1").serializeArray());
var requestObj = {};
var formObj = $(this).closest("form");
$.each($(formObj).serializeArray(), function (index, value) {
requestObj[value.name] = value.value;
});
console.log(requestObj);
})
});
</script>
您只需执行以下操作即可获取成功输入的值:
var stringData = $('#form-id').serialize();
这将创建一个查询字符串,该字符串将与HTTP请求一起发送
相反,如果您希望将值存储在数组中,则可以执行以下操作:
var arrayData = $('#form-id').serializeArray();
我的意思是将id放在javascript / jquery中将表格序列化的所有字段中?
不,不是ID,而是name
属性应该存在,因为所有输入要进行序列化都是必需的。
您可以使用两种选择的方法:
var frmData = $('#formId').serialize(); // produces queryString '?name=value&name=value'
var frmData = $('#formId').serializeArray(); // produces array [{name:name, value:value}]
这是新的,这是直接用模型映射您的字段名称
var requestObj = {};
var formObj = $($this).closest("form");
$.each($(formObj).serializeArray(), function (index, value) {
requestObj[value.name] = value.value;
});
在ajax部分
data: JSON.stringify({ objectName: requestObj }),
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.