WYSIWYG编辑器不适用于通过ajax-php调用生成的textarea

时间:2015-10-30 12:36:42

标签: php jquery ajax tinymce html-editor

我有一个textarea,我用ajax生成它,但是在加载textarea之后,那个textarea没有转换为WYSIWYG编辑器,但它正在正常textarea上工作,请帮助解决我的问题。

<!DOCTYPE html>
<html>
<head>
........
$.ajax({
        type: "POST",
        url: "<?php echo base_url(); ?>" + "dashboard/show_data",
        cache: false,
        dataType: "json", 
        success: function(data){

        $('#demo').html(data);
........
<script src="//tinymce.cachefly.net/4.2/tinymce.min.js"></script>
<script>tinymce.init({selector:'textarea'});</script>
</head>
<body>
    <textarea>Easy! You should check out MoxieManager!</textarea>
    <section id="demo">
    </section>
</body>
</html>
  

show_data.php

<textarea></textarea>

2 个答案:

答案 0 :(得分:1)

问题在于,在执行ajax成功函数时,已经初始化了tinymce编辑器。

解决这个问题很容易。您只需要在成功时初始化新编辑器:

$.ajax({
        type: "POST",
        url: "<?php echo base_url(); ?>" + "dashboard/show_data",
        cache: false,
        dataType: "json", 
        success: function(data){

          $('#demo').html(data);

          //put the initial init function here instead
          tinymce.init({selector:'textarea'});

          // **or** better in case you know the textarea id use
          tinymce.init({ selector: "#textarea_id" });
........

答案 1 :(得分:0)

尝试添加此

tinymce.init({selector:'textarea'});

将HTML放入demo元素后。否则谷歌如何使用jQuery on。你的问题是mce编辑器需要绑定到新的dom元素,如果你不告诉它,不会。