2015-11-19 88 views
2

我初始化不同的ID 2 textarea的2 TinyMCE的编辑器:tinyMCE的GET编辑返回null

var variable_array = {id:'cName', test:'mon test'}; 
tinymce.init({ 
    selector: "#model_editor", 
    entity_encoding : "raw", 
    encoding: "UTF-8", 
    theme: "modern", 
    height: "500px", 
    width: "100%", 
    variables_list : variable_array, 
    plugins: [ 
     "advlist autolink lists link image charmap print preview hr anchor pagebreak", 
     "searchreplace wordcount visualblocks visualchars code fullscreen", 
     "insertdatetime media nonbreaking save table contextmenu directionality", 
     "emoticons template paste textcolor colorpicker textpattern modelinsert" 
    ], 
    toolbar1: "insertfile undo redo | styleselect | bold italic | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | link image print preview media | forecolor backcolor emoticons", 
    toolbar2: "variable_insert | question_insert", 
    image_advtab: true, 
    templates: [ 
     {title: 'Test template 1', content: 'Test 1'}, 
     {title: 'Test template 2', content: 'Test 2'} 
    ] 
}); 

tinymce.init({ 
    selector: "#headerfooter_editor", 
    entity_encoding : "raw", 
    encoding: "UTF-8", 
    theme: "modern", 
    height: "500px", 
    width: "100%", 
    variables_list : variable_array, 
    plugins: [ 
     "advlist autolink lists link image charmap print preview hr anchor pagebreak", 
     "searchreplace wordcount visualblocks visualchars code fullscreen", 
     "insertdatetime media nonbreaking save table contextmenu directionality", 
     "emoticons template paste textcolor colorpicker textpattern modelinsert" 
    ], 
    toolbar1: "insertfile undo redo | styleselect | bold italic | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | link image print preview media | forecolor backcolor emoticons", 
    toolbar2: "variable_insert | question_insert", 
    image_advtab: true, 
    init_instance_callback : "mceInitInstance", 
    templates: [ 
     {title: 'Test template 1', content: 'Test 1'}, 
     {title: 'Test template 2', content: 'Test 2'} 
    ] 
}); 

两个编辑器正确初始化。 然后以设置在每个不同的内容,我试图让编辑器实例对象ID:

var editor_id = tinyMCE.get('#headerfooter_editor'); 
console.log(editor_id); 

它返回null:/

我尝试也在控制台来获取回调的结果第二个初始化:

function mceInitInstance(inst) { 

console.log("Editor: " + inst.editorId + " is now initialized."); 

而且它返回:编辑器:undefined现在已初始化。

我要做到以下几点:

tinyMCE.get('#headerfooter_editor').setContent(data.content); 

但当然会返回一个错误:遗漏的类型错误:无法读取空的特性“setContent”

我不明白什么是错的,为什么我无法获得编辑器实例ID:/

回答

7

您的编辑应该可以使用tinymce.get('model_editor')tinymce.get('headerfooter_editor')

提示tinymce.editors包含所有已初始化的编辑器实例。 可以遍历数组把他们都弄到:

for (var i = 0; i < tinymce.editors.length; i++) 
{ 
    console.log("Editor id:", tinymce.editors[i].id); 
}   
+0

正如你可以看到两个textarea都有一个不同的id:#model_editor和#headerfooter_editor 此外,我用得到的ID,抱歉,但我不明白你的答案。 –

+0

回答编辑。在你的控制台输入这个,告诉我你得到了什么:tinymce.editors – Thariama

+0

你应该可以使用tinyMCE.get('headerfooter_editor')然后 – Thariama

4

相反的:

tinyMCE.get('#headerfooter_editor').setContent(data.content);

使用

tinyMCE.get('headerfooter_editor').setContent(data.content);

删除#