我有一个动态生成HTML表单的AJAX调用。此表单包含许多元素,包括输入,选择,textareas,复选框等。
我需要编写一些javascript(jquery available)来获取此表单中的所有字段并将它们提交给AJAX脚本。我不知道有多少或哪些字段(只是一个基本的想法),因为它取决于用户的行为。
任何想法如何做到这一点?可以说我的表单名称是'ajaxform'
答案 0 :(得分:4)
正如大家所说,使用jQuery serialize。另一个注意事项是通过jQuery live方法覆盖表单提交(如果需要):
//Override form submit
$("form").live("submit", function (event) {
event.preventDefault();
var form = $(this);
$.ajax({
url: form.attr('action'), // Get the action URL to send AJAX to
type: "POST",
data: form.serialize(), // get all form variables
success: function(result){
// ... do your AJAX post result
}
});
});
答案 1 :(得分:2)
var string_ready_to_be_posted = $("#formId").serialize();
答案 2 :(得分:0)
您可以使用jQuery的.serialize()
:
var data = $('#ajaxform').serialize();
var action = $('#ajaxform').attr('action');
$.post(action, data, function(data) {
...
});
答案 3 :(得分:0)
var string_ready_to_be_posted = $('form[name="ajaxform"]').serialize();
作为使用NAME-selector而不是ID