我有一个文本区域,我在那个文本区域上使用tinyMCE。
实际上,我所做的是,当页面打开时,我用一些文本填充textarea,然后初始化tinyMCE。
问题是,当我试图在tinyMCE初始化后更改textarea的值时,什么也没有发生。
这里有一个例子。
1.创建文本区域:
<textarea style="width: 95%;" name="title" id="title"></textarea>
字符串
1.填充文本区域:
$('#title').html("someText");
型
1.初始化tinyMCE
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"
});
型
1.我想改变文本视图的内容(但它不工作)
我已经尝试使用与以前相同的初始化tinyMCE
$('#title').html("someModifiedText"); // does not work
型
我也试着删除tinyMCE:
if(tinyMCE.getInstanceById('title'))
removeTinyMCE("title");
型
与
function removeTinyMCE (dialogName) {
tinyMCE.execCommand('mceFocus', false, dialogName);
tinyMCE.execCommand('mceRemoveControl', false, dialogName);
型
}
和thet重复使用:
$('#title').html("someModifiedText"); // does not work
型
我没办法了...非常感谢你的帮助...
7条答案
按热度按时间cs7cruho1#
这里的问题是,如果你在textarea中输入文本或html,你将看不到任何东西。textarea在tinymce初始化时被隐藏。你看到的是一个内容可编辑的iframe,它用于编辑和样式化内容。有几个事件会导致tinymce将其内容写入编辑器的html源元素(在你的情况下是textarea)。
如果您想设置编辑器的内容(可见),您需要调用类似
字符串
您还可以使用以下命令直接访问dom元素
型
使用jQuery
型
5us2dqdw2#
您可以使用
tinyMCE.activeEditor.setContent('<span>some</span>');
此功能适用于最新版本6.8.2
检查这个答案
72qzrwbm3#
简单地说,这对我来说很有效
字符串
4nkexdtk4#
我通过确保在文档准备好之后完成
setContent
来解决同样的问题,所以首先;字符串
然后
型
上面是pug的代码,但关键是-如前所述-将其加载到文档就绪。
z9gpfhce5#
字符串
这是我的工作,解码你的html数据,并将其放置在开始和结束textarea标签之间。
axr492tv6#
一旦称之为
字符串
然后tinymce的值将被转换为原始的textarea值。所以可以像从普通textarea获得一样获得它。
xcitsw887#
这对我很有效。只要把它放在你的html代码中,而不是去tinymce
字符串