我收到此错误:Uncaught TypeError: Cannot read property 'getContent' of undefined
if (tinymce.editors.length > 0) {
alert('editor exist')
var myEditor = tinyMCE.get['rteCaseHeading'].getContent();
$("#bookId").html(myEditor);
}
在Html中:
<textarea class="mceEditor" id="rteCaseHeading" rows="10" cols="100" style="height: 300px"> </textarea>
我还在tinyMCE init期间指定了editor_selector : "mceEditor",
。
我已就此错误提及各种链接/问题并已实施。
虽然编辑器的长度大于零,但这仍然会引发错误。
有人建议我在这个问题超过2-3小时后挣扎。 [UPDATE]
我提到了这个链接 并添加了以下代码:http://jsfiddle.net/9euk9/49/
ed.on('change', function () {
ed.save();
});
仍然没有运气。 非常感谢!
答案 0 :(得分:0)
将<textarea>
封装在<form></form>
个标签内。
查看以下代码,
<强> HTML 强>
<form method="post" action="action_page">
<textarea class="mceEditor" id="rteCaseHeading" rows="10" cols="100" style="height: 300px">testtestet</textarea>
</form>
<button onclick="content()">Get content</button>
<强>的Javascript 强>
tinyMCE.init({
mode : "specific_textareas",
editor_selector : "mceEditor"
});
function content(){
alert(tinyMCE.get('rteCaseHeading').getContent());
}
工作小提琴 - http://jsfiddle.net/kqa13zz4/52/
注意:在小提琴中,我将function content()
函数写为window.content = function()...
,因为小提琴只接受函数声明。
希望这有帮助!
答案 1 :(得分:0)
您没有正确调用get()
方法。你有这个:
var myEditor = tinyMCE.get [&#39; rteCaseHeading&#39;]。getContent();
......应该是这样的:
var myEditor = tinyMCE.get(&#39; rteCaseHeading&#39;)。getContent();
你写的东西你试图访问tinyMCE对象上的数组 - 但get
是一个方法而不是数组 - 它是tinyMCE对象上的一个方法因此需要括号而不是方括号。
https://www.tinymce.com/docs/api/tinymce/root_tinymce/#get
(TinyMCE 3和4的方法调用相同)