Загрузите TinyMCE, используя innerHTML в PHP - PullRequest
0 голосов
/ 21 февраля 2019

На основе выбранной опции код печатает textarea на compmento1 div:

        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>

Несмотря на «Mode: 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?

1 Ответ

0 голосов
/ 21 февраля 2019

Сначала попытайтесь загрузить 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})
    });
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...