TinyMCE编辑器setContent用can';t读取null属性


TinyMCE editor setContent responds with can't read null property

我试图从MySQL向TinyMCE文本区域添加内容。我使用了setContent(content),但文本区域在页面刷新时没有填充内容,我得到了以下错误消息:

未捕获的类型错误:无法读取空的属性"setContent"

<script src="__PUBLIC__/tinymce/tinymce.min.js"></script>
<script> tinymce.init({selector:'textarea',plugins:'code',content_css:"__PUBLIC__/custom_content.css"});
tinymce.get('textarea').setContent(content....);
</script>
<script src="__PUBLIC__/jquery-1.11.2.min.js"></script>
<textarea class="form-control" id="textarea" name="content" placeholder="content..." rows="30"></textarea>

我做错了什么?

晚了5年,但我自己刚刚在试图弄清楚这一点时偶然发现了这个线程。

对于其他在这里磕磕碰碰的人来说,.get()必须是一个ID,没有标签。所以.get('textarea')查找一个id为"的文本区域;文本区域";属性,而不仅仅是一个文本区域。

对我来说,以下工作:

tinymce.get('fldDescription').setContent("<p>test</p>");

但以下情况并非如此:

tinymce.get('#fldDescription').setContent("<p>test</p>");

我是TinyMCE 5。

您过早地调用了tinymce.*函数,而元素甚至不存在于DOM中。将<script>置于<textarea>下方,然后重试。

或者,像这样包装tinymce.*调用(也请注意jQuery脚本的位置):

<script src="__PUBLIC__/tinymce/tinymce.min.js"></script>
<script src="__PUBLIC__/jquery-1.11.2.min.js"></script>
<script>
$(document).ready(function() {
  tinymce.init({
    selector:'textarea',
    plugins:'code',
    content_css:"__PUBLIC__/custom_content.css"
  });
  tinymce.get('textarea').setContent(content....);
});
</script>