TinyMCE初始化后使用javascript设置textarea值
我有一个文本区,我正在该文本区使用tinyMCE 我实际上在做的是,当页面打开时,我用一些文本填充textarea,然后初始化tinyMCE 问题是,当我试图在tinyMCE初始化后更改textarea的值时,什么也没有发生 这里有一个例子TinyMCE初始化后使用javascript设置textarea值,javascript,html,tinymce,textarea,Javascript,Html,Tinymce,Textarea,我有一个文本区,我正在该文本区使用tinyMCE 我实际上在做的是,当页面打开时,我用一些文本填充textarea,然后初始化tinyMCE 问题是,当我试图在tinyMCE初始化后更改textarea的值时,什么也没有发生 这里有一个例子 创建文本区域: <textarea style="width: 95%;" name="title" id="title"></textarea> 初始化tinyMCE tinyMCE.init({ // Gen
<textarea style="width: 95%;" name="title" id="title"></textarea>
tinyMCE.init({
// General options
mode : "specific_textareas",
theme : "advanced",
width: "100%",
plugins : "pagebreak,paste,fullscreen,visualchars",
// Theme options
theme_advanced_buttons1 : "code,|,bold,italic,underline,|,sub,sup,|,charmap,|,fullscreen,|,bullist,numlist,|,pasteword",
theme_advanced_buttons2 :"",
theme_advanced_buttons3 :"",
theme_advanced_buttons4 :"",
theme_advanced_toolbar_location : "top",
theme_advanced_toolbar_align : "left",
theme_advanced_statusbar_location : "bottom",
valid_elements : "i,sub,sup",
invalid_elements : "p, script",
editor_deselector : "mceOthers"
});
$('#title').html("someModifiedText"); // does not work
我还尝试删除tinyMCE:
if(tinyMCE.getInstanceById('title'))
removeTinyMCE("title");
与
}
要重复使用:
$('#title').html("someModifiedText"); // does not work
我没有主意了。。。非常感谢您的帮助……这里的问题是,如果您在文本区域中输入文本或html,您将看不到任何内容。 tinymce初始化时,文本区域将隐藏。然后您会看到一个可编辑内容的iframe,用于编辑内容并设置内容样式。有几个事件会导致tinymce将其内容写入编辑器的html源元素(在您的示例中是您的textarea) 如果要设置编辑器的内容(可见),则需要调用
tinymce.get('title').setContent('<p>This is my new content!</p>');
tinymce.get('title').setContent('这是我的新内容!');
您还可以使用以下命令直接访问dom元素
tinymce.get('title').getBody().innerHTML = '<p>This is my new content!</p>';
tinymce.get('title').getBody().innerHTML='这是我的新内容 ",;
或者使用jQuery
$(tinymce.get('title').getBody()).html('<p>This is my new content!</p>');
$(tinymce.get('title').getBody()).html(“这是我的新内容!”);
这对我很有用。只需将它放在html代码中,而不是放在tinymce中
<textarea> html CONTENT</textarea>
html内容
这对我来说很简单
$("#description").val(content);
您可以使用
tinyMCE.activeEditor.setContent('somehtml')代码>
{{html\u entity\u decode($yourstringdata)}
这对我来说很有用,解码html数据并将其放在开始和结束文本区域标记之间。我通过确保在文档准备好后完成设置内容
解决了同样的问题,所以首先
script(type="text/javascript").
tinymce.init({
selector: '#title',
height: 350,
menubar: false
});
然后
script(type='text/javascript')。
$(文档).ready(函数(){
tinymce.get('title').setContent('someText是html');
})
上面是帕格的代码,但关键是——如前所述——将其加载到文档准备就绪。再次感谢Thariama,我在这里遇到一个错误:tinymce.get('title')未定义请参阅。@goldenparrot,谢谢,我已经尝试过了,但仍然存在相同的问题。您需要使用您的textareas id,但是您也可以使用tinymce.activeEditor或tinymce.editors[0]setcontent对我不起作用,但是setcontent对我起作用(大写字母“C”),如果您觉得这个问题是重复的,应该将其标记为重复问题。请不要发布指向其他堆栈溢出问题的链接作为答案。抱歉,没有注意到同一用户的帖子。谢谢你提供的信息。很好的解决方案!!这个答案应该是公认的答案。简单的伟大解决方案!谢谢@ryanmonrealth这个问题是关于以一种特定的方式使用tinyMCE,但这里给出的解决方案只是说,不要使用tinyMCE,这根本无助于回答问题。
$("#description").val(content);
<textarea id="content" name="content">{{html_entity_decode($yourstringdata)}}</textarea>
script(type="text/javascript").
tinymce.init({
selector: '#title',
height: 350,
menubar: false
});
script(type='text/javascript').
$(document).ready(function(){
tinymce.get('title').setContent('<span>someText</span> is html');
})