Полезная информация

Юристы зарабатывают огромные деньги и славу, оперируя хорошим знанием законов. Правила форума — простой путь к успешному общению.

№101-12-2006 20:01:01

SMiX
Участник
 
Группа: Members
Зарегистрирован: 03-10-2005
Сообщений: 36

Firefox и таблицы в innerHTML

Таблица берется посредством ajax`a и алертится[ alert(req.responseText) ] - код выводится верный. Тип:

Выделить код

Код:

<table>
<tr><td>форма</td><td>текст</td><td>текст</td></tr>
<tr><td>форма</td><td>текст</td><td>текст</td></tr>
<tr><td>форма</td><td>текст</td><td>текст</td></tr>
</table>

Потом

Выделить код

Код:

document.getElementById('div_for_table').innerHTML = req.responseText

И код таблицы коверкается - добавляются после <table> и перед </table> <tbody> , </tbody> - это нестрашно, но все портит то, что ФФ коверкает структуру таблицы. В частности, переносит первый тег </td> к следующему. В итоге содержимое div`а получается таким:

Выделить код

Код:

<table>
<tr><td>форма<td>текст</td></td><td>текст</td></tr>
<tr><td>форма<td>текст</td></td><td>текст</td></tr>
<tr><td>форма<td>текст</td></td><td>текст</td></tr>
</table>

В Опере и Ослике все работает нормально, что очень обидно. Ведь ФФ - это, вроде как, эталон...

Отредактировано SMiX (01-12-2006 20:02:14)

Отсутствует

 

№201-12-2006 20:37:55

Yan
Участник
 
Группа: Extensions
Откуда: Москва
Зарегистрирован: 27-02-2005
Сообщений: 1019

Re: Firefox и таблицы в innerHTML

SMiX
Во-первых, Firefox всё-таки не эталон. :)
Во-вторых, не воспроизводится:
http://xsms.nm.ru/temp/gecko/ajax_innerhtml_tables/

Отсутствует

 

№301-12-2006 21:00:11

SMiX
Участник
 
Группа: Members
Зарегистрирован: 03-10-2005
Сообщений: 36

Re: Firefox и таблицы в innerHTML

http://seo.w00d.org/?act=viewpr&id=1
Вот тут трабла..

Отредактировано SMiX (01-12-2006 21:02:41)

Отсутствует

 

№401-12-2006 21:36:25

Yan
Участник
 
Группа: Extensions
Откуда: Москва
Зарегистрирован: 27-02-2005
Сообщений: 1019

Re: Firefox и таблицы в innerHTML

Я думаю, это из-за некорректной вложенности элементов. <form method="post" action=""> открывается в одной ячейке, а закрывается в следующей.

Отсутствует

 

№501-12-2006 21:46:29

SMiX
Участник
 
Группа: Members
Зарегистрирован: 03-10-2005
Сообщений: 36

Re: Firefox и таблицы в innerHTML

Дада кстати была мысль, но забыл потом. Пасиб :) Теперь надо решить, как это привести к "стандарту"... Не хочется сложных конструкций типа <input onclick="document.getElementById(ид формы)" />

Отсутствует

 

№601-12-2006 22:00:57

Yan
Участник
 
Группа: Extensions
Откуда: Москва
Зарегистрирован: 27-02-2005
Сообщений: 1019

Re: Firefox и таблицы в innerHTML

SMiX
Вложить все td в form, а form в tr?

Отсутствует

 

№701-12-2006 22:07:21

SMiX
Участник
 
Группа: Members
Зарегистрирован: 03-10-2005
Сообщений: 36

Re: Firefox и таблицы в innerHTML

Пробовал. Таблица коверкается
И tr в form вкладывал - таблица получается размером в 1 пиксель =)

Отредактировано SMiX (01-12-2006 22:11:52)

Отсутствует

 

№801-12-2006 22:23:13

Yan
Участник
 
Группа: Extensions
Откуда: Москва
Зарегистрирован: 27-02-2005
Сообщений: 1019

Re: Firefox и таблицы в innerHTML

Как именно коверкается?
У меня всё нормально:

Выделить код

Код:

...
<table border="1" bordercolor="black">
<tr><th>Ссылки</th></tr>
<tr><form method="post" action=""><td><textarea name="link" cols=20 rows=10>ss</textarea></td><td><input type="submit" value="Обновить" /></td><td>Тут будет кнопка удаления</td></form></tr>
</table>
...

Отсутствует

 

№901-12-2006 22:26:44

SMiX
Участник
 
Группа: Members
Зарегистрирован: 03-10-2005
Сообщений: 36

Re: Firefox и таблицы в innerHTML

Вот поставил...
http://seo.w00d.org/?act=viewpr&id=1

Добавлено Птн 01 Дек 2006 22:31:35 :
Лаги происходят именно после изменения innerHTML. Когда такой код просто загружается лагов нет.

Отсутствует

 

№1001-12-2006 23:10:56

Yan
Участник
 
Группа: Extensions
Откуда: Москва
Зарегистрирован: 27-02-2005
Сообщений: 1019

Re: Firefox и таблицы в innerHTML

Мда.
Я бы сделал через сложные конструкции типа <input onclick="document.getElementById(ид формы)" />.
Тем более эти сложные конструкции можно сильно упростить:

Выделить код

Код:

...
<tr><td><textarea cols=20 rows=10>ss</textarea></td><td><input type="button" onclick="update(this);" value="Обновить" /></td><td>Тут будет кнопка удаления</td></tr>
...

а в update() добираться к нужному textarea например через DOM:

Выделить код

Код:

function update(input){
 var textarea=input.parentNode.parentNode.getElementsByTagName('TEXTAREA')[0];
 alert(textarea.value);
 //далее отправляем ajax-запрос
}

Отсутствует

 

№1101-12-2006 23:43:00

SMiX
Участник
 
Группа: Members
Зарегистрирован: 03-10-2005
Сообщений: 36

Re: Firefox и таблицы в innerHTML

Пасиб так и сделаю

Отсутствует

 

№1202-12-2006 20:26:45

SMiX
Участник
 
Группа: Members
Зарегистрирован: 03-10-2005
Сообщений: 36

Re: Firefox и таблицы в innerHTML

Теперь пишет

this.parentNode has no properties

Поправил строку

Выделить код

Код:

var textarea=input.parentNode.parentNode.getElementsByTagName('TEXTAREA')[0];

на

Выделить код

Код:

var textarea=this.parentNode.parentNode.getElementsByTagName('TEXTAREA')[0];

Можно через document.getElementById, Но хотелось бы продолжить идею с parentNode

Отсутствует

 

Board footer

Powered by PunBB
Modified by Mozilla Russia
Copyright © 2004–2020 Mozilla Russia GitHub mark
Язык отображения форума: [Русский] [English]