Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Не сохраняются изменения на странице (https://javascript.ru/forum/events/7607-ne-sokhranyayutsya-izmeneniya-na-stranice.html)

Ulis 10.02.2010 12:13

Не сохраняются изменения на странице
 
Подскажите пожалуйста. Есть таблица на странице, меняю содержимое javascripto-м, на секунду мелькает новое содержимое и возвращается к тому что было. В чем может быть проблема? Неужели он обновляет страницу с сервера? так же не должно вроде быть.
Вот функция:
function test(){
	var row=document.getElementById(selectedId); // id строки таблицы
	var cells = row.getElementsByTagName("td");

	for (var i=0; i<cells.length; i++)
		{
	var text=cells.item(i).textContent;
	cells.item(i).innerHTML="blah-blah-blah";
		}
	row.appendChild(cells);
	document.getElementById(tableID).appendChild(row);
	}

Ладно бы вообще не менялось, а то мелькает на мгновение. Вообще таблица заполняется с помощью php из базы. Может в этом дело?

Kolyaj 10.02.2010 12:51

Цитата:

Сообщение от Ulis
row.appendChild(cells);

Это зачем?

Ulis 10.02.2010 14:43

Экспериментировал по-всякому. Думал может надо по иерархии утверждать всех потомков.
Я не пойму, что вообще происходит? Почему сбрасывается результат.

subzey 11.02.2010 14:53

var cells = row.getElementsByTagName("td"); // cells — NodeList
<…>
row.appendChild(cells); // принимает Element / DocumentFragment

А… это нормально?

Ulis 11.02.2010 15:18

Проблема локализована. Фишка в свойстве innerHTML - при перезаписи вызывается рефреш.

e1f 11.02.2010 15:28

Если добавляете внутренности таблицы через innerHTML -- то не заюудьте проверить в ИЕ ;)


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