IE9 установил innerHTML textarea с тегами HTML - PullRequest
3 голосов
/ 31 марта 2011

У меня есть это поле

В IE9 следующая строка выдает ошибку «SCRIPT601: неизвестная ошибка времени выполнения» // опция 1. document.getElementById ('code'). InnerHTML = 'some text';

Ошибка исчезает и, похоже, работает (при назначении пустого значения), когда я изменяю строку на: // option 2. document.getElementById ('code'). InnerHTML = '';

Я попробовал это: // вариант 3. document.getElementById ('code'). InnerHTML = escape ('some text');

, но тогда HTML-код должен быть экранирован, и это не то, что я хочуЯ хочу, чтобы эта точная строка была помещена в текстовое поле.

В Chrome и Firefox код в варианте 1 работает правильно.

Что я могу сделать, чтобы это исправить?

Ответы [ 3 ]

1 голос
/ 31 марта 2011

Вы должны установить свойство value .

0 голосов
/ 07 сентября 2011

В режиме совместимости IE9 принятое решение не будет работать.

Поскольку вы, вероятно, пытаетесь установить innerHtml для <p>, оно будет работать, если вы замените <p> на <div>.

Кредиты: Тео Грей, http://www.theogray.com/blog/2009/06/internet-explorer-unknown-runtime-error

0 голосов
/ 31 марта 2011

Как вы думаете, у вашей веб-страницы есть <!DOCTYPE html> или подобное?

http://blogs.msdn.com/b/ie/archive/2011/03/24/ie9-s-document-modes-and-javascript.aspx

...