tinyMCE get编辑器返回null

我在2 textarea上用不同的id初始化2个tinyMCE编辑器:

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:/

我还尝试在控制台中获取第二个init的回调结果:

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

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

我想做以下事情:

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

但当然它会返回一个错误:Uncaught TypeError:无法读取null的属性’setContent’

我不明白什么是错的,为什么我不能得到编辑器实例id:/

您的编辑器应该可以使用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); } 

代替:

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

使用

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

删除#