我试图从MySQL添加内容到TinyMCE textarea。我使用了setContent(content)
,但textarea在页面刷新时没有填充内容,我收到以下错误消息:
未捕获的TypeError:无法读取null的属性'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>
我做错了什么?
答案 0 :(得分:1)
晚了5年,但我自己偶然发现了这个线程,试图立即解决这个问题。
对于在这里绊脚的其他人来说,.get()必须是一个ID,没有井号。因此,.get('textarea')查找具有id =“ textarea”属性的文本区域,而不仅仅是一个textarea。
对我来说,以下工作有效:
tinymce.get('fldDescription').setContent("<p>test</p>");
但是以下内容却没有:
tinymce.get('#fldDescription').setContent("<p>test</p>");
这是TinyMCE 5。
答案 1 :(得分:0)
您过早地调用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>