|
|
|
Forum Guru
      
участник
Last Login: 30.11.2006 16:49
Сообщ.: 65,
Visits: 694
|
|
| Приветствую. Вот собственно код: <html> <head></head> <body> <input type="button" value="set 1" onclick="window.alert(document.getElementById('div_').firstChild.nodeValue); document.getElementById('div_').firstChild.nodeValue = '1'; window.alert(document.getElementById('textarea_').firstChild.nodeValue); document.getElementById('textarea_').firstChild.nodeValue = '1';"> <div id="div_" contentEditable=true>qq</div> <textarea id="textarea_" cols=100 rows=40>area</textarea> </body></html> Причем Мозиллы вроде устанавливают значение, но почему тогда не показывают?! Если руками текст поправить - все равно показывают то, что в source :( Версии - MS IE 6.0, Mozilla 1.6, FireFox 1.0.6. В Opera не пробовал.
|
|
|
|
|
Supreme Being
модератор
Last Login: 04.05.2008 13:32
Сообщ.: 7 240,
Visits: 65 445
|
|
| В Opera 9.01 изменение значения textarea через firstChild.nodeValue тоже не работает. По моему это из-за того, что для изменения значения полф формы надо использовать свойство value, а не DOM.
|
|
|
|
|
Forum Guru
      
участник
Last Login: 30.11.2006 16:49
Сообщ.: 65,
Visits: 694
|
|
| Полагаете, что это собственное понимание стандартов разработчиками Opera и Мозилл? Не скажу, что все облазил, но достаточно долго искал в w3c.org и не нашел никаких запретов устанавливать текст в TEXTAREA через DOM. Вот ведь и в DOM Inspector-ах Мозилл этот лист отображается так же как и в DIV-е, и ничто не указывает на его особое поведение... Если вдруг найдете объяснение этому в стандарте - ткните меня, пожалуйста, носом. А то мне Opera как браузер нравится больше IE, но вот такие особенности ужасно расстраивают..
|
|
|
|
|
Supreme Being
модератор
Last Login: 04.05.2008 13:32
Сообщ.: 7 240,
Visits: 65 445
|
|
| Я нашел такой кусок в рекомендации DOM2 (DOM2-HTML.pdf) относящийся к атрибуту value интерфейса HTMLTextAreaElement (выделение мое). Represents the current contents of the corresponding form control, in an interactive user agent. Changing this attribute changes the contents of the form control, but does not change the contents of the element. If the entirety of the data can not fit into a single DOMString, the implementation may runcate the data. Это можно трактовать таким образом, что только атрибут value может использоваться для представления содержимого элемента формы которое показывает браузер и которое будет отправлено вместе с формой. Это только предположение и беда скорее в неточности формулировок рекомендации. Но ведь все на свете предусмотреть невозможно. Лично мне поведение MSIE кажется более логичным. Он дает менять значение любым удобным способом, но раз другие браузеры этого не позволяют, то придется использовать атрибут value.
|
|
|
|