javascript - 使用 AJAX 和 PHP 重新加载 TINYMCE 3.5

标签 javascript php html ajax tinymce

我在使用 PHP 和 AJAX 更新 HTML Web 上的所见即所得编辑器 (TinyMCE 3.5) 的内容时遇到问题。

“news.php”的初始代码:

<script type="text/javascript">

tinyMCE.init({
    // General options
    mode : "textareas",
    theme : "advanced",
...
  });
</script>



...
      <select id="id_languages" name="id_languages" onchange="recibeid('loading_news_language.php', 'id_news=<?php echo $id_news;?>&id_languages='+document.getElementById('id_laguanges').value+'', '', 'load_news_language');">
        <?php

          $row_idiomas = get_languages();
          for($i = 0; $i<count($row_languages); $i++){
        ?>
        <option value="<?php echo $row_languages[$i]["id_languages"];?>"><?php echo $row_languages[$i]["name"];?>
        </option>
        <?php
          } //close bucle for
        ?>

    </select>
  </div>
 </div>

<div class="rowform"></div><!-- rowform -->
<div id="load_news_language">
      <?php include("loading_news_language.php");?>
</div>
...

首次加载“loading_news_language.php”时,Tiny 编辑器工作正常,但如果在单击不同语言时使用标签“选择器”,则不会再次加载编辑器,仅加载内容。我需要重新加载编辑器。

loading_new_language.php的代码:

...

<textarea name="text" id ="text" rows="1" style="height: 300px;">
        <?php 
        if(isset($_POST["text"]))
        {echo $_POST["text"];}
        elseif (isset($_GET["id_news"])) 
        {echo $row_news_languages["text"]; }
        ?>
</textarea>
...

提前感谢所有试图提供帮助的人。

最佳答案

当您动态尝试更改所见即所得编辑器时,就会发生这种情况,它就会崩溃。您需要做的是,每次更改内容时重新初始化编辑器。

您需要删除 TinyMCE 编辑器,然后使用以下函数再次“重新添加”新内容,其中 IDofYourEditor 必须替换为您的 tinyMCE 编辑器的 ID .

tinyMCE.execCommand('mceRemoveControl',true,'IDofYourEditor');

将新内容加载到编辑器后,您必须再次重新初始化编辑器,就像您在示例中所做的那样:

tinyMCE.init({
  // General options
  mode : "textareas",
  theme : "advanced",
  ...
});

这样你的编辑器应该可以正常工作。

关于javascript - 使用 AJAX 和 PHP 重新加载 TINYMCE 3.5,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30844007/

相关文章:

javascript - 如果后面跟着其他表达式 JS,则拒绝完整的 RegEx

javascript - 必填字段验证器 asp.net 更改文本框的 css

javascript - 在 HTML5 中存储用户输入数据

javascript - 在 VSCode Explorer 中过滤掉 *.spec.ts 文件?

php - Tumblr API 修改转发评论

javascript - 表单将 JavaScript 粘贴到数据库中

javascript - php socket发送数据然后接收数据

php - 在同一个运行时两次使用一个命名空间

javascript - 如何使用 jquery 创建图片库

javascript - 我想用一个按钮更改文本