将输入附加到表单和呈现的元素

时间:2011-08-02 00:22:16

标签: javascript forms

我有一个表单,其元素在一个嵌套在表单标签中的表中整齐地格式化,我想用新输入向该表添加另一行。如何将新输入附加到表单元素(以便它存在于document.forms.formName中并将与表单一起提交)和新行的单元格(以便它在行内呈现)?

在单元格和表单元素上调用appendChild方法只是将它附加到最后一个被调用的方法,而不是给它一种双重成员资格。我可以从不会干扰元素呈现方式的表单调用某种附加吗?

编辑:Woops,表格嵌套在表格内,反之亦然。这在Firefox 3.6中不起作用,但在Internet Explorer 8中可以使用。

1 个答案:

答案 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>

请注意,您可能需要更新输入的名称和值并进行其他一些整理,上面只显示了策略。