JQuery Ajax表单和动态创建的表单元素不提交

Mik*_*ike 4 ajax jquery jquery-forms-plugin

我正在编写一个表单,当更改选择列表时,会动态加载一些文本输入元素.

问题是,当我提交表单时,这些元素不会发布到发布到服务器的数据中.

我需要做些什么才能将这些动态创建的元素"放入"要提交的表单中?

代码是这样的:

$("#my_select_id").change(function() {
    $.ajax({
        type: "GET",
        url: "some-url/" + $("#played_number_game_id").children("option:selected").val(),
        async: false, 
        dataType: "html",
        error: function(XMLHttpRequest, status, errorThrown) {
            alert("oh no!");
            alert(status);
        },
        success: function (data, status) {
            $("#parent-element").html("");
            $("#parent-element").append(data);
        },
        complete: function() {
        }
    });

    $("#my_form_submit").click(function() {
        $("#my-form").ajaxSubmit({ clearForm: true }); 
        return false;
    });
});
Run Code Online (Sandbox Code Playgroud)

ajax调用返回的html是:

<input id="my-form_e_1" class="number-input" type="text"/>
<input id="my-form_e_2" class="number-input" type="text"/>
Run Code Online (Sandbox Code Playgroud)

如果我在调用ajax方法后使用firebug查看页面,动态加载的html就在层次结构中,它应该是...即它在表单中.

但是当我单击提交按钮时,只会发布ajax调用之前存在的表单元素.

有任何想法吗?

bri*_*ris 5

您的问题似乎是动态添加的输入元素没有name属性.name如果要将其值包含在提交的数据中,则输入元素需要属性.