簡體   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