所以基本上,我有很多表单字段(约50左右)。做一个AJAX请求将是天文数字很大,它很可能只是让我的代码看起来丑陋和难以理解。无论如何要从页面收集所有表单数据并执行AJAX请求吗?
答案 0 :(得分:1)
如果你有每个输入框的对象名称,如:
<input type="text" data-ajax="MyAjaxObjectName1" />
您可以通过这种方式递归所有输入:
var ajaxObject = {};
$('#myContainer input[type=text]').each(function() {
var inputObject = $(this).data('MyAjaxObjectName1')
ajaxObject[inputObject] = $(this).val()
}
这是我能想到的最简单的方法,可以通过你所拥有的每一个领域来实现。虽然,您必须更新HTML以包含这些属性
答案 1 :(得分:0)
答案 2 :(得分:0)
我建议在表单元素上使用$.serializeArray()
。
它返回一个数组,其中包含表单输入的每个名称和值。
Docu&amp;示例:https://api.jquery.com/serializeArray/