我有很多PHP生成的输入字段。一旦我用jQuery添加新字段,如果它们是空的,则不会提交。然而,即使它们是空的,也会发送静态的。
我该如何解决这个问题?
CODE:
<form id="sendform" action="pdf.php" method="post">
<input type="text" name="to1" />
<input type="text" name="to2" />
<input type="text" name="to3" />
<input type="submit" value="send" />
</form>
现在jQuery部分是:
var clone = $('input[name="to2"]').clone();
$(clone).attr('name', 'to4');
$('#sendform').append(clone);
截图:
你可以看到Note1,Note2,Note3,Note4。我动态添加了Note2。您可以从屏幕截图中看到它在dom中,但是没有发送(是的,输入了数据)。
解
总之,问题出现在表格中的 元素中(<table><form>
)。当 成为表格的父级(<form><table>
)时 - 一切正常。
答案 0 :(得分:4)
如果有人再遇到同样的问题 - 原因可能很简单:格式错误的DOM。 这可能会导致正确的视觉呈现,但在提交时无法正确处理表单输入
如果你有f.e。:
[form]
[div]
[div]
[div] <!-- redundant closing div -->
[/form]
可能无法发送新附加的表单字段。 检查Firefox中的页面源 - 红色提示标签可以帮助您
答案 1 :(得分:2)
按预期正常工作:
var clone = $('input[name="to2"]').clone();
$(clone).attr('name', 'to4');
$('#sendform').append(clone);
$('#sendform').submit(function() {
$('div').text($(this).serialize());
return false;
});