我有一个表单,其元素在一个嵌套在表单标签中的表中整齐地格式化,我想用新输入向该表添加另一行。如何将新输入附加到表单元素(以便它存在于document.forms.formName中并将与表单一起提交)和新行的单元格(以便它在行内呈现)?
在单元格和表单元素上调用appendChild方法只是将它附加到最后一个被调用的方法,而不是给它一种双重成员资格。我可以从不会干扰元素呈现方式的表单调用某种附加吗?
编辑:Woops,表格嵌套在表格内,反之亦然。这在Firefox 3.6中不起作用,但在Internet Explorer 8中可以使用。
答案 0 :(得分:0)
如果您只想要现有表行的副本,只需克隆整行并将其添加到表中即可。如果表格在表格中,输入将自动添加到表格中。
一个简单的例子:
<form ...>
<table>
<tr><td><input name="foo">
</table>
</form>
<button onclick="
var table = document.getElementsByTagName('table')[0];
var tBody = table.tBodies[0]
var newRow = tBody.rows[0].cloneNode(true);
tBody.appendChild(newRow);
">Add a row</button>
请注意,您可能需要更新输入的名称和值并进行其他一些整理,上面只显示了策略。