尝试获取内容时tinyMCE错误

时间:2016-09-12 12:17:04

标签: javascript tinymce

我收到此错误: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();
                });

仍然没有运气。 非常感谢!

2 个答案:

答案 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的方法调用相同)