Страницы: 1
Есть HTML-файл с JavaScript-кодом:
<!-- ...... (начало файла) --> <script language="javascript" type="text/javascript"> var idx = 1; function addField() { var tbl = document.getElementById('fields_table').firstChild; //Теперь в tbl сидит <TBODY> var newTR = document.createElement('TR'); //создаем новый ряд к таблице newTR.id = 'fields' + (++idx); var newTD1 = document.createElement('TD'); //создаем две ячейки к этому новому ряду var newTD2 = document.createElement('TD'); newTR.appendChild(newTD1); newTR.appendChild(newTD2); newTD1.innerHTML = '<input type="text" name="answer[]" class="textbox_contents" style="width: 200px" />'; newTD2.innerHTML = '<input type="radio" name="answer_textbox[]" value="1" />'; tbl.appendChild(newTR); //ДОБАВЛЯЕМ НОВЫЙ РЯД К ТАБЛИЦЕ (ВЕРНЕЕ К TBODY) //В IE и Opera работает, FF ругается (Ошибка: uncaught exception: [Exception... "Node cannot be inserted at the specified point in the hierarchy" code: "3" nsresult: "0x80530003 (NS_ERROR_DOM_HIERARCHY_REQUEST_ERR)" location: "http://tests/1/admin.php?contents=questions&q=add Line: 221"]) } </script> <!-- ................ --> <table id="fields_table"> <tr> <td>Текст ответа <input type="button" value=" + " onclick="javascript:addField()" class="textbox_contents" style="width: 30px" title="Добавить еще один вариант" /></td> <td nowrap="nowrap">С текстовым полем</td> </tr> <tr id="fields1"> <td><input type="text" name="answer[]" class="textbox_contents" style="width: 200px" /></td> <td><input type="radio" name="answer_textbox[]" value="1" /></td> </tr> </table> <!-- ................. -->
При попытке добавить новый ряд к таблице IE и Opera все делают ОК, а FF не хотит... Что делать?
Отсутствует
А откуда там tbody? что-то я в коде его не вижу.
Попробуй
заменить на
или добавить tbody и
Закрой кран
Включи свет ©
Fire! Kill IE is your desire | NULL | NULL
Отсутствует
В FF в вашем примере tbl это не tbody, а текстовый узел состоящий из пробельных символов.
При работе с таблицами проще пользоваться табличными методами insertRow, insertCell
2INFOMAN
TBODY добавляет браузер, ибо он должен там быть.
Отредактировано Lynn (18-09-2006 21:28:29)
Isn't it ironic... don't you think? — Alanis Morissette
Отсутствует
Спасибо за информацию, но как мне добраться до TBody (не охота insertRow и insertCell использовать, т.к. потом много кода помимо этого придется менять)?
Отсутствует
У table есть стандартное свойство tBodies — массив всех TBODY которые есть в таблице.
Соответственно
Отредактировано Lynn (18-09-2006 22:10:13)
Isn't it ironic... don't you think? — Alanis Morissette
Отсутствует
Страницы: 1