我有一个textarea,我在那个textarea上使用tinyMCE。
我实际上在做的是当页面打开时,我用一些文本填充textarea,之后我正在初始化tinyMCE。
问题是当我尝试在tinyMCE初始化之后更改textarea的值时,没有任何反应。
这是一个例子。
创建textarea:
<textarea style="width: 95%;" name="title" id="title"></textarea>
填充textarea:
$('#title').html("someText");
初始化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"
});
我想更改textview的内容(但不起作用)
我尝试使用与初始化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);
}
重新使用:
$('#title').html("someModifiedText"); // does not work
我没有想法......非常感谢你的帮助......
答案 0 :(得分:32)
问题是,如果您在textarea中输入text或html,则不会看到任何内容。 当tinymce初始化时,你的textarea会被隐藏。您所看到的是内容可编辑的iframe,用于编辑和设置内容样式。有几个事件会导致tinymce将其内容写入编辑器的html源元素(在您的情况下是您的textarea)。
如果要设置编辑器的内容(可见),则需要调用类似
的内容tinymce.get('title').setContent('<p>This is my new content!</p>');
您也可以使用以下
直接访问dom元素tinymce.get('title').getBody().innerHTML = '<p>This is my new content!</p>';
或使用jQuery
$(tinymce.get('title').getBody()).html('<p>This is my new content!</p>');
答案 1 :(得分:10)
您可以使用tinyMCE.activeEditor.setContent('<span>some</span> html');
答案 2 :(得分:3)
这对我有用
$("#description").val(content);
答案 3 :(得分:0)
<textarea id="content" name="content">{{html_entity_decode($yourstringdata)}}</textarea>
这对我来说是工作,请解码您的html数据并将其放在开始和结束textarea标签之间。
答案 4 :(得分:0)
我有一个同样的问题,可以通过确保setContent
在文档准备好之后完成来完成,所以首先;
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');
})
上面是哈巴狗的代码,但是关键是-如前所述-以便将其加载到准备就绪的文档中。
答案 5 :(得分:-1)
它对我有用。只需将它放在你的html代码中,而不是将其放入tinymce
<textarea> html CONTENT</textarea>