我有一些textareas,所有这些都是tinyMCE。
我想设置特定文本区域的内容,但我找不到如何。
我试过这个:
tinyMCE.get('title').setContent(selected_article_title);
这是我的textarea:
<textarea style="width: 95%;" name="Title" id="title"></textarea>
这是我的tinyMCE init:
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"
});
我不知道为什么这不起作用,我使用了tinyMCE网站上的例子http://www.tinymce.com/wiki.php/API3:method.tinymce.Editor.setContent
答案 0 :(得分:13)
我有解决方案(Thariama给了我一些元素)
要使用tinyMCE设置textarea的内容,我们必须在初始化tinyMCE之前填写textarea。此外,答复如下:
创建textarea:
<textarea style="width: 95%;" name="Title" id="title"></textarea>
设置textarea的内容:
$('#title').html(selected_article_title);
初始化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 :(得分:10)
对于tinymce版本4,
tinymce.get('title').setContent(selected_article_title);
工作得很好 - 也就是在初始化编辑器之后。
答案 2 :(得分:9)
我认为这将解决您的问题
适用于TinyMCE v:4。。
// Sets the HTML contents of the activeEditor editor
tinyMCE.activeEditor.setContent('<span>some</span> html');
// Sets the raw contents of the activeEditor editor
tinyMCE.activeEditor.setContent('<span>some</span> html', {format : 'raw'});
// Sets the content of a specific editor (my_editor in this example)
tinyMCE.get('my_editor').setContent(data);
// Sets the bbcode contents of the activeEditor editor if the bbcode plugin was added
tinyMCE.activeEditor.setContent('[b]some[/b] html', {format : 'bbcode'});
代码的链接是TinyMCE setContent
答案 3 :(得分:2)
在TinyMCE 5中,您可以使用setContent()
方法执行此操作。
假设您已使用id=”myTextarea”
在文本区域初始化了编辑器。首先使用相同的ID访问编辑器,然后调用setContent()
。例如:
tinymce.get('#myTextarea').setContent('<p>Hello world!</p>');
或者,您可以访问活动编辑器:
tinymce.activeEditor.setContent('<p>Hello world!</p>');
此处有更多信息和示例:https://www.tiny.cloud/blog/how-to-get-content-and-set-content-in-tinymce。
答案 4 :(得分:1)
使用此
tinyMCE.get('title').setContent(selected_article_title);
不起作用。它将设置您的编辑器内容。
要设置编辑器源html元素(textarea),您需要使用
直接设置它$('#title').html(selected_article_title);
您需要知道您的编辑器与textarea不同!
答案 5 :(得分:0)
如果您设置的内容包含 mso 标记(例如,从outlook2013生成的html内容,其中包含编号列表),则会松散列表元素。设置 tinymce.activeEditor.setContent(foo)或首先设置textarea内容然后初始化tinymce 会得到相同的结果,我们无法正确查看列表元素,它们是左对齐的。但是如果我们使用setContent(foo, { format:'raw' })
进行设置,我们就会正确地看到列表元素。为什么呢?
答案 6 :(得分:0)
以下适用于tinymce版本4,并且在拖动时不会将编辑器显示为textarea:
function initializeEditors() {
var editorContent = {};
$("#photo-list").sortable({
start: function (e, ui) {
$('.attachment-info').each(function () {
var id = $(this).attr('id');
editorContent[id] = tinyMCE.get(id).getContent();
});
},
stop: function (e, ui) {
$('.attachment-info').each(function () {
var id = $(this).attr('id');
tinymce.execCommand('mceRemoveEditor', false, id);
tinymce.execCommand('mceAddEditor', true, id);
tinyMCE.get(id).setContent(editorContent[id]);
});
}
});
}
答案 7 :(得分:0)
class LessonDataHolder extends RecyclerView.ViewHolder implements View.OnClickListener {
public BlurLayout samplelayout;
private TextView nameOfSlip;
private ImageView slipImage;
private Context context;
public LessonDataHolder(View itemView) {
super(itemView);
context = itemView.getContext();
nameOfSlip = (TextView) itemView.findViewById(R.id.demoText);
slipImage = (ImageView) itemView.findViewById(R.id.imageViewDemoVideo);
samplelayout = (BlurLayout) itemView.findViewById(R.id.blur_layout);
slipImage.setOnClickListener(this);
}
public void bindSlip(VideoList videoList) {
nameOfSlip.setText(videoList.stringSlipName);
slipImage.setImageResource(videoList.stringImage);
}
@Override
public void onClick(View view) {
if (view.getId() == slipImage.getId()) {
Toast.makeText(view.getContext(), "Chapter = " + String.valueOf(getAdapterPosition()+1), Toast.LENGTH_SHORT).show();
BlurLayout.setGlobalDefaultDuration(1000);
View hover4 = LayoutInflater.from(view.getContext()).inflate(R.layout.hover_card_view, null);
samplelayout.setHoverView(hover4);
samplelayout.setBlurDuration(2000);
samplelayout.addChildAppearAnimator(hover4, R.id.hover_play_video, Techniques.SlideInRight);
samplelayout.addChildDisappearAnimator(hover4, R.id.hover_play_video, Techniques.SlideOutLeft);
}}}}
确保selected_article_title不包含任何html标记。