【发布时间】:2014-08-27 06:39:39
【问题描述】:
我有一个表单,我使用append() 在此处动态添加 div。它成功创建了 div,并且 div 内部有输入字段。但问题是,在序列化表单中的数据后,它不包括来自动态创建的 div 的数据。
这是我的createDiv 函数:
function createDiv() {
var count = 5;
for (var i = 0; i < count; i++) {
$('#userQues').append("<div class='col-md-4'> <div class='form-group'> " +
"<label class='control-label' for ='data[" + i + "][questiona]'> Question A </label>" +
"<input id='data[" + i + "][questiona]' name='data[" + i + "][questiona]' type='text' placeholder='' class='form-control input-md'/>" +
"</div> </div>");
}
};
创建我的 div 有问题吗?为什么序列化不包含我创建的 div 中的数据?
提前致谢!
这里是序列化数据的地方。提交表单时:
$('#explorer_form').submit(function(e){
var serializedData = $('#explorer_form').serialize();
alert(serializedData);
$.ajax({
url : url + api,
type : method,
data : serializedData,
success : function(response){
$('#response').val(JSON.stringify(response));
}
});
e.preventDefault(); //STOP default action
e.unbind(); //unbind. to stop multiple form submit.
});
还有形式:
<form id='explorer_form'>
<input id='uname' name='uname' type='text'/>
<div id='userQues'></div>
<button type='submit'>Submit</submit>
</form>
现在,警报数据只是来自输入“uname”的数据。它不会序列化创建的 div 中的数据。
【问题讨论】:
-
如何/何时调用序列化?你能重现这个问题吗?
-
我看不到您进行序列化的点。此外,做一个 fiidle 或 pen 也很聪明,因为它对喜欢帮助你的人来说更有趣:)
-
对这个 而非 div 使用隐藏字段
标签: javascript jquery html javascriptserializer