下面的JavaScript在in中运行良好,但在FireFox中不起作用。
它挂在"NewField is undefined“处,这是下面这行:
for (var i=0;i<NewField.length;i++)这是一个循环,它将重命名该表行上的表单字段。
在这里您可以看到整个页面的http://www.sorenwinslow.com/CloneRowTest.asp
function CloneRows(TableRowId)
{
var NumRows = document.forms["TestForm"].NumRows.value;
NumRows++;
document.forms["TestForm"].NumRows.value = NumRows;
var RowToClone = document.getElementById(TableRowId);
var NewTableRow = RowToClone.cloneNode(true);
NewTableRow.id = TableRowId + NumRows ;
NewTableRow.style.display = "table-row";
var NewField = NewTableRow.all;
for (var i=0;i<NewField.length;i++)
{
var theName = NewField[i].name;
if (theName)
{
NewField[i].name = theName + NumRows;
}
}
var insertHere = document.getElementById(TableRowId);
insertHere.parentNode.insertBefore(NewTableRow,insertHere);
}发布于 2011-08-24 01:12:54
.all通常不存在,只有document.all,但它甚至不是标准的。Internet Explorer有一些自定义属性,但您不应该依赖它们。您可能需要.children
var NewField = NewTableRow.children;或.cells
var NewField = NewTableRow.cells;https://stackoverflow.com/questions/7164779
复制相似问题