使用TinyMCE后如何获取textarea的值?


TinyMCE

比方说我们在使用mailtocommenter这样的回复邮件通知的插件。

回复时会向评论框里添加 “@user”,当用了TinyMCE comment插件后就失效了。

也就是说当用了TinyMCE编辑器后,获取评论框textarea的值就不大一样了。

使用TinyMCE后,无法使用document.getElementById访问textarea。

修改

在客户端可以用下面的来随时获取内容:

tinyMCE.getInstanceById(editorId).getBody().innerHTML=content;

content就是要写进评论框的值。

如果是用mailtocommenter插件的话,打开这个插件的mailtocommenter_functions.php,找到mailtocommenter_button这个函数,里面有:

echo "<a href=\"#commentform\" title=\"{$title}\" onclick=\"document.getElementById('comment').focus();document.getElementById('comment').value += '{$value}'\">{$display}</a>";

改为:

echo "<a href=\"#commentform\" title=\"{$title}\" onclick=\"tinyMCE.getInstanceById('comment').getBody().innerHTML += '{$value}'\">{$display}</a>";

重要的就是这句而已;

tinyMCE.getInstanceById(editorId).getBody().innerHTML

效果可见:http://yunbio.com/


14条回应:“使用TinyMCE后如何获取textarea的值?”

    • 谷歌的早给K了。bloggerads比较少钱,不过展示也有钱的。。点击的话就多些。