Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Правильно ли я удоляю таблицу??? (https://javascript.ru/forum/misc/3153-pravilno-li-ya-udolyayu-tablicu.html)

konstantinopol 23.03.2009 13:01

Правильно ли я удоляю таблицу???
 
Создание:
...
if(tablekopf==0){
				newElem=document.createElement('table');
				newElem.setAttribute('width','100%');
				newElem.setAttribute('border','1');
				newElem.setAttribute('class','sorttable');
				newElem.setAttribute('id','unique_id');
				newElem.setAttribute('cellpadding','4');
				//newElem.setAttribute('cellspacing','5');	
				newRow=newElem.insertRow(0); 
				newRow.setAttribute('bgcolor','#BDBDBD');
				newCell = newRow.insertCell(0);
				newCell.setAttribute('align','center');
				newCell.innerHTML="Entf"; 
				
				newCell = newRow.insertCell(1);
				newCell.innerHTML="Name"; 
			
				newCell = newRow.insertCell(2); 
				newCell.setAttribute('align','center');
				newCell.innerHTML="PLZ"; 
						
				newCell = newRow.insertCell(3); 
				newCell.setAttribute('align','center');
				newCell.innerHTML="Ort";
						
				tablekopf=1;		
			}
...
for(u=0;u < count3;u++)	{
				newRow=newElem.insertRow(u+1);
				
				newCell = newRow.insertCell(0); 
				newCell.setAttribute('align','center');
				newCell.innerHTML=array[u][0]+" km";
				 
				newCell = newRow.insertCell(1);  
				newCell.innerHTML="<a href=\"index.php?option=com_comprofiler&task=userProfile&user="+id[count2]+"\">"+array[u][1]+"</a>"; 
			
				newCell = newRow.insertCell(2); 
				newCell.setAttribute('align','center');
				newCell.innerHTML=array[u][2]; 
							
				newCell = newRow.insertCell(3); 
				newCell.setAttribute('align','center');
				newCell.innerHTML=array[u][3];
			}
		document.getElementById('tablica').appendChild(newElem);
		table = 1;
		tablekopf = 0;


Я получаю ошибку
uncaught exception: [Exception... "Component returned failure code: 0x80004003 (NS_ERROR_INVALID_POINTER) [nsIDOMHTMLDivElement.appendChild]" nsresult: "0x80004003 (NS_ERROR_INVALID_POINTER)" location: "JS frame :: http://localhost/Golfclub/map/mapBackUp5.php :: addClubToMap :: line 292" data: no]
в строке
document.getElementById('tablica').appendChild(newElem);


Это проблема в таблице или я где то в другом месте накосячил??

AzriMan 23.03.2009 15:39

немного не понятно.

1. Вы удААААААляете таблицу или создаете?

2. ошибка ссылается на php файл, а представлен листинг чистого JS.

3. а существует ли элемент с ID=='tablica' на момент выполнения метода appendChild?

konstantinopol 23.03.2009 15:48

Пардон я её создаю. Запарился уже с этим кодом.
Мне выдало ошибку именно этой строки.
<div id="tablica"></div> уже существуэт на момент создания таблицы.
Что за ошибка я немогу понять поэтому и спрашиваю по какой причине она появилась.
Я думал что из-за таблицы но раз вы говорите что это ошибка в php то значит что таблица создаётся верно.

AzriMan 23.03.2009 15:51

я говорю о том, что, если у меня появляется ошибка вида
Цитата:

uncaught exception: [Exception... "Component returned failure code: 0x80004003 (NS_ERROR_INVALID_POINTER) [nsIDOMHTMLDivElement.appendChild]" nsresult: "0x80004003 (NS_ERROR_INVALID_POINTER)" location: "JS frame :: http://localhost/Golfclub/map/mapBackUp5.php :: addClubToMap :: line 292" data: no]
, то я смотрю, что находится в 292 строчке в файле mapBackUp5.php.

или Вы хотите сказать, что в 292 строчке php файла находится
document.getElementById('tablica').appendChild(newElem);
?!

konstantinopol 23.03.2009 15:58

Именно так и есть.
В строке 292 стоит
document.getElementById('tablica').appendChild(newElem);

Я просматриваю страницу с FireFox и он мне это показывает.
Или вы предлогаете посмотреть в самом файле?

AzriMan 23.03.2009 18:49

ах Вы об этом.. да, действительно. но учтите, что если страница динамически видоизменяется, то не факт, что в 292 строчке будет именно то, что Вам необходимо. браузер (если Вы смотрите через view source) покажет Вам содержание таблицы на момент загрузки. а изменения с контентом там не будут отображены (поправьте меня, если я не прав)

хотя, если верить ошибке, она возникает как раз при обращении к методу appendChild.

вопросы:
1. appendChild выполняется только один раз?
2. что находится в newElem на момент выполнения?

кстати. подобная ошибка уже встречалась на этом форуме:
http://javascript.ru/forum/misc/1802....html#post5988


Часовой пояс GMT +3, время: 02:17.