如何将动态生成的表单提交给AJAX

How to submit a dynamically generated form to AJAX?

本文关键字:表单提交 AJAX 动态      更新时间:2023-09-26

我有一个动态生成HTML表单的AJAX调用。这个表单包含许多元素,包括输入、选择、文本区域、复选框等。

我需要写一些javascript(可用的jquery)来获得这个表单中的所有字段,并将它们提交给AJAX脚本。我不知道有多少或有什么字段(只有一个基本的想法),因为这一切都取决于用户做什么。

有什么办法吗?比如我的表单名是ajaxform

正如大家所说,使用jQuery序列化。另一个注意事项是覆盖您的表单提交(如果需要)通过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
            }
        });
    });

var string_ready_to_be_posted = $("#formId").serialize();
http://api.jquery.com/serialize/

你可以使用jQuery的.serialize():

var data = $('#ajaxform').serialize();
var action = $('#ajaxform').attr('action');
$.post(action, data, function(data) {
 ...
});

var string_ready_to_be_posted = $('form[name="ajaxform"]').serialize();作为使用NAME-selector代替ID

的插件