我想在javascript中使用selectbox的onchange事件触发器中的一些内容填充tinymce body。我尝试了一些东西,但确实如此 不适合我。请指导我正确的方向。 这是我在textarea上附加tinymce的代码
$(function() {
appendTinyMCE();
function appendTinyMCE(){
tinyMCE.init({
// General options
mode : "textareas",
theme : "advanced",
plugins : "preview",
// Theme options
theme_advanced_buttons1 : "forecolor,backcolor,|,justifyleft,justifycenter,justifyright,justifyfull,bullist,numlist,|,formatselect,fontselect,fontsizeselect,sub,sup,|,bold,italic,underline,strikethrough",
theme_advanced_buttons2 : "",
theme_advanced_toolbar_location : "top",
theme_advanced_toolbar_align : "left",
theme_advanced_statusbar_location : "bottom",
theme_advanced_resizing : true
});}
});
这是html代码
<td>
<textarea rows="15" name="MyTinymceContent" cols="90" >MyTestContent</textarea>
现在我想用javascript中的选择框更改来填充新内容的tinymce。所以我在改变时写下面的代码片段 选择框
function populateMyTinyMCE() {
document.form.MyTinymceContent.value ="MyNewContent";
}
但它并没有把新内容放在tinymce体内。我不确定我在这里缺少什么?
答案 0 :(得分:2)
您可以在某些事件触发器上调用以下任何一项:
tinyMCE.get('your_editor').setContent("MyNewContent");
//OR
tinyMCE.activeEditor.setContent('MyNewContent');
请参阅:Here for More
答案 1 :(得分:2)
Tinymce与textarea不相同。在编辑器的初始化时,创建了一个可信的iframe。这个iframe保存编辑器内容,并不时写回编辑器源html元素(在您的情况下是textarea)。要设置编辑器内容,您需要使用tinymce setContent
函数。我也将展示替代方案:
function populateMyTinyMCE() {
var editor = tinymce.editors[0];
// other ways to get the editor instance
// editor = tinymce.get('my editor id');
// editor = tinymce.activeEditor;
editor.setContent('my new content');
// alternate way of setting the content
// editor.getBody().innerHTML = 'my new content';
}
答案 2 :(得分:0)
尝试
tinyMCE.activeEditor.setContent("MyNewContent");