我正在尝试提交一个表单,其中包含在页面完成加载后由 jQ 添加到 DOM 的动态元素。
当我在表单上运行 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添加的任何一些字段都没有。
我在这里发现了几个类似的问题。我正在遵守建议的解决方案,但没有效果。
我正在使用最新的 jQuery (1.4.1) - 并考虑使用 live() 事件绑定器。我有一种感觉可能有助于解决这个问题,但无法弄清楚如何将它与 validate() 插件结合使用。
有什么建议么 ?
谢谢,m^e