如何在表格单元格中插入输入字段?

时间:2011-12-06 15:07:30

标签: javascript

对于noob问题很抱歉:我想创建一个包含输入字段的表,如果需要,可以添加新字段。但我无法弄清楚如何在另一个输入字段已经存在的单元格中添加另一个输入字段。

我的代码是:

var par=obj.parentNode;
while(par.nodeName.toLowerCase()!='tr')
{ par=par.parentNode; }
// this gives me the index of the row.. works fine.

cell1=document.getElementById('avz_tabelle').rows[par.rowIndex].cells;
// this puts the content of the cells into the array "cell1"

var feld = cell1[1].createElement("input"); 
feld.setAttribute("name","avz_keywords" + avz_array + "[]"); 
feld.setAttribute("onblur","");
feld.setAttribute("type","text"); 
feld.setAttribute("size","30"); 
// Now I create a input element
// And now comes the problem:

cell1[1].appendChild(feld); // --> doesn't work

有人对我提出建议吗? 我有了一个没有桌子工作的想法,理论上这可以用我的方式。但这并不令人满意:/

2 个答案:

答案 0 :(得分:5)

如果您查看调试控制台,您应该看到类似

的内容
TypeError: Object #<HTMLDivElement> has no method 'createElement'

不使用cell1[1]创建元素,而是使用document.createElement()

 var feld = document.createElement("input");

答案 1 :(得分:2)

您应该使用document.createElement("input");代替cell1[1].createElement("input");

与往常一样(并在此处的另一个答案中也有说明),JavaScript控制台应该是第一个查找问题提示的地方!

如果您想要添加值的每个表格单元格获得单独的ID,实际上不会更容易吗?包含行索引和列索引的东西......然后你可以直接选择它。