我正在编写一个表单,其中有一些文本输入元素在选择列表更改时动态加载。JQuery Ajax表单和动态创建的表单元素不提交
问题是,当我提交表单时,这些元素不会发送到发布到服务器的数据中。
我需要做些什么才能将这些动态创建的元素“纳入”要提交的表单中?
的代码是这样的:
$("#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;
});
});
由AJAX调用返回的HTML是:
<input id="my-form_e_1" class="number-input" type="text"/>
<input id="my-form_e_2" class="number-input" type="text"/>
如果我使用Firebug看网页调用Ajax的方法后动态加载的html在它应该是的层次中是正确的...即它的形式。
但是,当我点击提交按钮时,只有ajax调用之前存在的表单元素才会发布。
任何想法?
@Mike:被输入应该怎么回事提交?这是在POST vars中显示的*名称*,这就是您访问它们的方式。 – mpen