所以我创建了我的textarea,现在它是一个TinyMCE盒子......很棒。
但我希望用户选择一些数据,然后用该数据填充该textarea(这是HTML btw)......我使用的是这段代码:
var text = file.rows.item(0).presentData;
if (text != null) {
text = text.replace(/\n/g, '<br />');
$('#editcontent').val(text);
#editcontent
是一个textarea ...这个工作正常,直到我添加了TinyMCE。现在,当我点击此页面时,内容未填写。
有什么想法吗?
答案 0 :(得分:2)
正如贾斯帕所说,首先填写文本区域。
TinyMCE的作用是隐藏你的textarea并在其位置放置一个可编辑的iframe。
如果您无法填写textarea,那么可以使用firebug或类似的解决方案检查实时代码,以查看Ifram获取的名称或ID,或者您是否可以指定ID。
然后使用它来代替访问Iframe。
答案 1 :(得分:1)
在设置textarea的值后初始化TinyMCE实例怎么样?
var text = file.rows.item(0).presentData;
if (text != null) {
text = text.replace(/\n/g, '<br />');
$('#editcontent').val(text).tinymce(...);
我不确定您是否初始化TinyMCE,但如果您在$('#editcontent').val(text)
行之后对其进行初始化,那么它应该可以处理您的数据。
您还可以“刷新”TinyMCE实例的内容。
答案 2 :(得分:1)
我在加载时调用了init,然后在填写完文本之后又尝试再次执行...最终对我有用的就是在我填写textarea框之后调用它。
if (text != null) {
text = text.replace(/\n/g, '<br />');
$('#editcontent').val(text);
}
else {
text = '<div style="margin: 10%"><h2>This is a blank presentation. Click edit.</h2></div>';
$('#editcontent').val('');
}
$('textarea#editcontent').tinymce({
mode : "textareas",
theme : "advanced",
plugins : "autolink,lists,pagebreak,style,layer,table,save,advhr,advimage,advlink,emotions,iespell,inlinepopups,insertdatetime,preview,media,searchreplace,paste,directionality,fullscreen,noneditable,visualchars,nonbreaking,xhtmlxtras,template,advlist",
theme_advanced_buttons1 : "formatselect,bold,italic,underline,strikethrough,forecolor,backcolor,|,justifyleft,justifycenter,justifyright,justifyfull,fontsizeselect,undo,redo,|,search,replace,|,bullist,numlist,|,outdent,indent,blockquote,charmap",
theme_advanced_buttons2 : '',
theme_advanced_buttons3 : "",
theme_advanced_toolbar_location : "top",
theme_advanced_toolbar_align : "left",
theme_advanced_statusbar_location : "none",
theme_advanced_resizing : true,
});
答案 3 :(得分:1)
试试这个:
var newtext = 'some text';
tinyMCE.get('editcontent').setContent(newtext);