Javascript cloneNode проблема в FireFox - PullRequest
       17

Javascript cloneNode проблема в FireFox

0 голосов
/ 23 августа 2011

JavaScript ниже прекрасно работает в Internet Explorer, но не работает в 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);
}

1 Ответ

3 голосов
/ 23 августа 2011

.all обычно не существует, только document.all, но это даже не стандарт. Internet Explorer имеет некоторые пользовательские свойства, но вы не должны полагаться на них. Вы, вероятно, хотите .children:

var NewField = NewTableRow.children;

или .cells:

var NewField = NewTableRow.cells;
...