Консультация № 174976
07.12.2009, 06:46
0.00 руб.
0 1 1
Здравствуйте, ув. эксперты.
Вопрос по javascript

Еще пару месяце назад написал скрипт, к. динамически добавляет форму в документ. Он замечательно работал во всех браузерах. Последний раз он точно работал вчера (5-го числа). А сегодня в ФФ выкидывает мне такой финт:

Error: 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://www.masterpage.ua/jscripts/forms.js Line: 30"]

Повторюсь, вчера работало во всех бразуерах

Спасибо.

Приложение:
//Создадим элемент "форма" и заполним свойства
var form = document.createElement('form');
//form.setAttribute('action', 'modules.php');
form.setAttribute('action', action);
form.setAttribute('id', formName);
form.setAttribute('name', formName);
form.setAttribute('method', 'post');

//Создадим кнопку "submit" и заполним свойства
var submit = document.createElement('input');
submit.setAttribute('type', 'submit');
submit.setAttribute('name', 'bSubmit' + formName);
submit.setAttribute('id', 'bSubmit' + formName);
submit.setAttribute('value', 'OK');
submit.setAttribute('style', 'display: none;');
//добавим кнопку в форму
form.appendChild(submit);
alert(document.lastChild.nodeName);
//добавим форму в документ
document.appendChild(form); //Вот здесь он умирает

Обсуждение

Неизвестный
07.12.2009, 10:19
общий
это ответ
Здравствуйте, Грибенников Александр Сергеевич.
alert в предпоследней строке выводит "HTML" - это навело меня на мысль, что append пытается добавить элемент не в тело документа, а выше по иерархии.
помогла такая поправка:

document.body.appendChild(form); //Вот здесь он умирает
5
Да, действительно...<br><br>Как же так? Работало ведь. Ничего ж не менял... <br><br>А когда искал ошибку, пробовал и в body добавлять. Он тогда написал мне undefined. Правда, я в body пытался достучаться через html (document.firstChild.firstChild).<br><br>Спасибо огромное.
Форма ответа