Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: для новичков > Не работает простой скрипт в Мозиле


Автор: Christoph 25.7.2010, 18:03
Не работает скрипт в мозиле, подскажите как это исправить?
Код

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
        "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
    <title>JavaScript Page is Simple!</title>
</head>
<body>
   <form>
       <input type=text id="text_field" name="text_field" size="50"><br>
       <input type="button" id="button" value="Введите текст" onclick="text_change(text_field.value)">
   </form>
   <p id="par"></p>
<script type="text/javascript">
    function text_change(text){
        document.getElementById('par').innerText=text;
    }
</script>
</body>
</html>

Автор: нуп 25.7.2010, 18:05
innerHTML  smile 

Автор: skyboy 25.7.2010, 18:27
впервые вижу, чтоб кто-то в innerText писал.
Код

<p id="test">
<span>1</span>
<span>2</span>
<span>3</span>
</p>
<script type="text/javascript">
alert(document.getElementById('test').innerText); // вернет "123"
document.getElementById('test').innerText = 'что-то'; // что это должно сделать с элементами?
</script>

Автор: Amphiluke 25.7.2010, 18:50
skyboy, тем не менее http://msdn.microsoft.com/en-us/library/ms533899(VS.85).aspx утверждает, что  innerHTML  (блин, опечатался) innerText — readonly свойство только для объектов html, table, tBody, tFoot, tHead и tr
Цитата(MSDN)

The innerText property is read-only on the html, table, tBody, tFoot, tHead, and tr objects.

When the innerText property is set, the given string completely replaces the existing content of the object.

Автор: skyboy 25.7.2010, 19:58
Цитата(Amphiluke @  25.7.2010,  17:50 Найти цитируемый пост)
skyboy, тем не менее

ну, правильно. readOnly. а я про что? Смысл писать в innerText, даже если не возникает ошибка, кажется мне неопределенным.

Автор: Amphiluke 25.7.2010, 20:12
skyboy, вы меня неправильно поняли.

Цитата(Amphiluke @  25.7.2010,  22:50 Найти цитируемый пост)
innerText — readonly свойство только для объектов html, table, tBody, tFoot, tHead и tr

а для всех остальных — можно писАть в innerText. В MSDN даже пример записи в innerText приведен.
Да и там вначале прям так и сказано:
Цитата(MSDN)

Sets or retrieves the text between the start and end tags of the object.
...
The property is read/write. 

Автор: bars80080 25.7.2010, 21:37
а чего же он в ряде браузеров вообще не работает?

Автор: skyboy 25.7.2010, 21:44
Amphiluke, ясно, спасибо.
хотя я по-прежнему в растерянности: если эффект будет заключаться в замене всех вложенных элементов на один textNode, то тут дублируется та же функциональность, что и у innerHtml(c передачей ей "только текста") при неочевидных условиях использования.

Добавлено через 21 секунду
так что автор, используй innerHtml и не парься.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)