ошибка uncaught NOT_FOUND_ERR DOM Exception 8 - PullRequest
6 голосов
/ 29 сентября 2011

Итак, я удаляю все содержимое под определенным div и добавляю содержимое сообщения. Тем не менее, javascript выдает следующую ошибку после финиша:

Uncaught Error: NOT_FOUND_ERR: DOM Exception 8

Вот код, где он выполняется

 new Ajax.Request("profileThis.php",
 {
   method:'post',

   parameters:{title:title, review:review, userId:userId, category:category, categoryId:categoryId},

   onSuccess:function(ajax) 
   {
    alert(ajax.responseText); // this is just for debugging purposes

    var message=ajax.responseText;

    var divMessage=document.createElement("div");

    divMessage.style.color="rgb:(105,105,105)";

    divMessage.innerHTML=message;

    while($("reviewSheet").hasChildNodes)
    {
     $("reviewSheet").removeChild($("reviewSheet").lastChild);
    }

    $("reviewSheet").adopt(divMessage);         

   },

   onFailure:ajaxFailure,

   onException:ajaxFailure

 });

Люди отметили, что проблема была в том, как я назначил divMessage на reviewSheet. Я пробовал оба adopt и appendChild, но ни один не работает. Небольшая помощь будет оценена.

Ответы [ 2 ]

3 голосов
/ 29 сентября 2011
divMessage.style.color="rgb:(105,105,105)";

должно быть

divMessage.style.color="rgb(105,105,105)";
1 голос
/ 12 марта 2012

Проблема в том, что вы вызываете метод hasChildNodes () для объекта jQuery? Я не уверен, каким должен быть $ ("reviewSheet"), но перенос строки в $ () делает его объектом jQuery, который, я не думаю, будет работать с обычными методами javascript. Если "reviewSheet" - это идентификатор элемента, вы можете сделать что-то вроде

node = document.getElementById('reviewSheet');

тогда вы можете войти в цикл while.

while (node.hasChildNodes()) {
 //the rest of your code here
}

О, также вам нужно поставить скобки после hasChildNodes (), чтобы вернуть логическое значение.

...