【发布时间】:2009-12-14 01:38:26
【问题描述】:
I'm writing a form that has some text input elements loaded dynamically when a select list is changed.
问题是,当我提交表单时,这些元素不会在发布到服务器的数据中发送。
我需要做什么才能让这些动态创建的元素“进入”要提交的表单?
代码是这样的:
$("#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"/>
如果我在调用 ajax 方法后使用 firebug 查看页面,动态加载的 html 就在它应该在的层次结构中......即它在表格中。
但是当我点击提交按钮时,只有在 ajax 调用之前存在的表单元素才会被发布。
有什么想法吗?
【问题讨论】:
标签: jquery ajax jquery-forms-plugin