如何向AJAX提交动态生成的表单?

时间:2011-09-09 13:58:24

标签: javascript jquery html ajax forms

我有一个动态生成HTML表单的AJAX调用。此表单包含许多元素,包括输入,选择,textareas,复选框等。

我需要编写一些javascript(jquery available)来获取此表单中的所有字段并将它们提交给AJAX脚本。我不知道有多少或哪些字段(只是一个基本的想法),因为它取决于用户的行为。

任何想法如何做到这一点?可以说我的表单名称是'ajaxform'

4 个答案:

答案 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();

http://api.jquery.com/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

的插件