我试图提交一个表单,其中包含动态元素,这些动态元素在页面完成加载后通过jQ添加到DOM中。jQuery:提交动态表单元素的问题
当我在表单上运行serialize()时,它会抓取硬编码到页面中的所有字段的数据 - 但不是动态字段。
这里有相同的一些代码片断..
HTML
<form id="someform" name="someform" method="post" action"">
<input type="text" name="afield" />
<ul id="somelist">
</ul>
<input type="submit" name="submit" />
</form>
<img id="add" src="add-button.png" />
<div class="new_unit" style="display:none">
<input type="text" name="somefield" />
</div>
的JavaScript
<script type="text/javascript">
// Adds a new field to the form
$('#add').click(function() {
$('#somelist').append('<li>' + $('.new_unit').html() + '</li>');
});
// Validate before submission
$('#someform').validate({
.......,
.....,
submitHandler: submit_form
});
function submit_form() {
_data = $('#someform').serialize();
alert(_data);
}
</script>
在命中提交按钮,在静态字段的数据, 字段正在显示...但任何由jQuery添加的某些字段不是。
我在这里找到了几个similar questions。我遵守建议的解决方案,但没有效果。
我正在使用最新的jQuery(1.4.1) - 并考虑使用live()事件绑定器进行播放。我有一种可能有助于解决此问题的感觉,但无法弄清楚如何将它与validate()插件结合使用。
有什么建议吗?
感谢, 平方公尺Ë
嗯,你的代码字面上粘贴到托管一个带有链接的测试文件到谷歌的jquery和ms的托管jquery.validate适用于我。至少在Firefox 3.6中。我可以给你一个完整的测试文件的副本,如果你想 – 2010-01-28 04:19:11
Grrrr ......这个噩梦不会!对我而言,至少......直到我将这些[]包括在内。我想,最有可能的问题是类似命名字段的多个实例。感谢您的反馈意见。 – 2010-01-28 09:03:47