繁体   English   中英

在 PHP 中使用 innerHTML 加载 TinyMCE

[英]Load TinyMCE using innerHTML in PHP

根据选定的选项,代码会在补全 1 div 上打印一个textarea

        if ($_GET["t"]==1) /// Text
    {
        $str="";
        $str.="<table width=100%>";
            $str.="<tr>";
                $str.="<td>";
                    $str.="Digite aqui o texto que será exibido:";
                $str.="</td>";
            $str.="<tr>";
                $str.="<td>";
                    $str.="<textarea id='texto' name='texto' rows=3 cols=80>".$row["texto"]."</textarea>";
                $str.="</td>";
        $str.="</table>";
        echo "<script>window.parent.document.getElementById('complemento1').innerHTML=\"".$str."\";</script>";
    }

现在我想添加一个 TinyMCE 编辑器,但我的尝试失败了,我尝试将代码放在 PHP 文件中:

    <script src="/_assets/editor/vendor/tinymce/tinymce/tinymce.min.js"></script>
    <script type="text/javascript">tinymce.init({mode: 'textareas', language: 'pt_BR', menubar: '', statusbar: false});</script>

尽管“模式:textareas”没有任何反应......如果我在我的代码中调用init:

<script>window.parent.document.getElementById('complemento1').innerHTML=\"".$str."\"; tinymce.init({mode: 'textareas', language: 'pt_BR', menubar: '', statusbar: false});</script>

在控制台上得到错误:

Uncaught ReferenceError: tinymce is not defined
at 

^^^ 它已经在我的 PHP 上定义了! (在头)

我哪里做错了? 如何正确定义 TinyMCE?

首先尝试在开始时加载tinymce并尝试打开它以检查是否存在

<script src="/_assets/editor/vendor/tinymce/tinymce/tinymce.min.js"></script>

或尝试在加载代码后运行您的 JS:

$('#complemento1').html(\"".$str."\").promise().done(function( arg1 ) {
  //  try fire the event here  
 tinymce.init({mode: 'textareas', language: 'pt_BR', menubar: '', statusbar: false})
});

您也可以尝试添加 document.ready 功能

$( document ).ready(function() {
    $('#complemento1').html(\"".$str."\").promise().done(function( arg1 ) {
     //  try fire the event here  
    tinymce.init({mode: 'textareas', language: 'pt_BR', menubar: '', statusbar: false})
    });
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM