用javascript(原型)替换textarea内容

时间:2010-11-13 10:41:58

标签: javascript ruby-on-rails prototype

在使用原型的Rails应用程序中,我在视图中有以下(简化)代码(编辑:替换为实际的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 个答案:

答案 0 :(得分:1)

您应该使用textarea DOM对象的value属性:

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