提交表单时,我将阻止默认操作,而是使用POST数据进行ajax调用。如何获取所有数据,以便将其与ajax调用一起传递?
使用post方法正常提交表单元素时,它可以轻松地组合表单中的所有name => value
对。不幸的是,现在我正在做ajax,看起来我需要自己组装。我真的不想编写JS来遍历表单并构建我自己的哈希,我假设有一个更简单的jQuery方法或者我没想到的一些行为。
一个表单的JS小提琴示例,我需要所有值。 http://jsfiddle.net/rm9KD/
答案 0 :(得分:1)
答案 1 :(得分:0)
jQuery提供了一个serializeArray函数,它将表单数据序列化为一个数组。然后,您可以获取结果数组并从中创建数据对象。
var arrayData = $('#myForm').serializeArray(),
data = {},
i = 0;
for(; i < arrayData.length; i++) {
data[arrayData[i].name] = arrayData[i].value;
}
或者,jQuery提供了serialize函数,它提供了表单数据的序列化字符串。
var data = $('#myForm').serialize();
答案 2 :(得分:0)
$(document).ready(function () {
$('form').submit(function (e) {
// Dont trigger a page load on submit.
e.preventDefault();
// Get all the values of the form???
var form_data = $('form[name="my_awesome_form"]').serialize()
// Make an ajax call
$.ajax({
url: "/ajax_form_receiver",
data: form_data
});
});
});