Замена содержимого текстовой области на JavaScript (прототип) - PullRequest
0 голосов
/ 13 ноября 2010

В приложении Rails, использующем прототип, у меня есть следующий (упрощенный) код в моем представлении (Edit: заменен фактическим выводом HTML):

<textarea cols="34" id="note" name="note" rows="5"></textarea>
<a href="#" onclick="$('note').update('test note'); return false;">copy note</a>

Это отлично работает при посещении новой страницы и делаетчто предназначено: Вставьте «тестовую заметку» в текстовую область, нажав на ссылку.

Однако, если я затем удалю или отредактирую текст в поле textarea и снова нажму на ссылку, текст снова не будет заменен.Это происходит как в Safari, так и в Firefox.Никаких ошибок javascript не происходит.

Как ни странно, Firebug действительно показывает текст между тегами при последующих щелчках, которые заменяются снова.

Чего мне не хватает?

РЕДАКТИРОВАТЬ:

Я нашел это: http://scott -tabar-safari.blogspot.com / 2008/01 / prototype-v16-ajaxupdater-and-textarea.html .Добавление $ ('formid'). Reset () исправляет это.Лучшие решения все еще приветствуются.

1 Ответ

1 голос
/ 13 ноября 2010

Вы должны использовать свойство value объекта DOM textarea:

<a href="#" onclick="$('note').value = 'test note'; return false;">copy note</a>
...