Возможно, вам потребуется предоставить немного больше информации - сам html был бы очень полезен, но я собираюсь предположить, что report
- это идентификатор текстовой области, которую вы должны очистить.
Если это обычная текстовая область, ваш код должен действительно работать.
Если (как упоминает Пауло в комментариях) он изменяется редактором openwysiwyg, он, вероятно, превращается в iFrame со своей собственной HTML-страницей. Управлять iFrame намного сложнее.
Похоже, это так.
Посмотрите на этот пример, чтобы убедиться, что он помогает вам ссылаться на сам iFrame: http://www.bennadel.com/index.cfm?dax=blog:1592.view
Это взломанная выдержка из файла example.html, поставляемого с openwysiwyg:
<script type="text/javascript">
// Use it to attach the editor to all textareas with full featured setup
//WYSIWYG.attach('all', full);
// Use it to attach the editor directly to a defined textarea
WYSIWYG.attach('textarea1'); // default setup
WYSIWYG.attach('textarea2', full); // full featured setup
WYSIWYG.attach('textarea3', small); // small setup
// Use it to display an iframes instead of a textareas
//WYSIWYG.display('all', full);
function getIFrameDocument( id )
{
var iframe = document.getElementById(id);
if (iframe.contentDocument) {
// For NS6
return iframe.contentDocument;
} else if (iframe.contentWindow) {
// For IE5.5 and IE6
return iframe.contentWindow.document;
} else if (iframe.document) {
// For IE5
return iframe.document;
} else {
return null;
}
}
function clearcontents()
{
getIFrameDocument('wysiwygtextarea1').body.innerHTML = '';
}
</script>
Тогда где-то на странице у меня есть кнопка очистки (на самом деле div):
<div style="width:120px;height:20px;background:#ff0000;text-align:center;display:block;" onclick="clearcontents();">Clear!</div>
Обратите внимание, что перед идентификатором вашей текстовой области стоит префикс wysiwyg
. Это название iFrame.
Я проверял это в Firefox, но пока ничего больше. Код для получения iFrame я нашел в сети где-то, так что, надеюсь, он работает для других браузеров:)