单击按钮将textarea更改为tinyMCE编辑器

时间:2015-11-02 09:50:15

标签: javascript jquery ajax tinymce

我想点击一个按钮将普通textarea转换为tinyMCE编辑器。场景是我的页面上有两个按钮,两个textarea从一个按钮单击一个jquery函数将被调用,而另一个jquery按钮将被调用,函数是调用正确,但问题是当单击特定按钮时,正常textarea未转换为tinyMCE编辑器。请帮助解决下面的问题,我的工作代码还有一件事,那就是保存按钮,然后点击保存按钮点击tinyMCE编辑器可以轻松更改为正常textarea

  

的index.php:

<!DOCTYPE html>
<html lang="en">
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/2.0.3/jquery.min.js"></script>
<script src="http://tinymce.cachefly.net/4.2/tinymce.min.js"></script>
</head>
<body>
<script type="text/javascript">
$(document).ready(function()
{
   function refreshdiv()
   {
    $.ajax({
    type:"POST",
    url: 'load_tinymce.php',
    cache:false,
    success:function(html){

    var mainDiv = $('.attach_tiny_editor');
    mainDiv.empty();  
    $(mainDiv).prepend(html);

    },
    beforeSend: function(){

    },
    complete: function(){


    }  
    });
    }

    refreshdiv();



});

$(document).ready(function(){

$(document.body).on('click', '#refresh_1' ,function(e){
      refreshdiv();

      tinyMCE.init({mode : "none"});
      tinyMCE.execCommand('mceAddControl', false, 'txt12');
});

$(document.body).on('click', '#refresh_2' ,function(e){
      refreshdiv();
      tinyMCE.execCommand('mceAddControl', false, 'txt13');
});

});

</script>
<div class="attach_tiny_editor">

</div>
<input type="button" id="refresh_1" value="refresh"/>

<input type="button" id="refresh_2" value="refresh"/>
</body>
</html>
  

load_tinymce.php

<div>
<textarea id="txt12">   </textarea>
<textarea id="txt13">   </textarea>
</div>

1 个答案:

答案 0 :(得分:1)

您需要将tinymce初始化放入ajax成功处理函数中才能执行。否则,textarea在需要时不在那里。

编辑:这将只启动一个编辑器!

$(document).ready(function()
{
   function refreshdiv()
   {
    $.ajax({
    type:"POST",
    url: 'load_tinymce.php',
    cache:false,
    success:function(html){

    var mainDiv = $('.attach_tiny_editor');
    mainDiv.empty();  
    $(mainDiv).prepend(html);

    tinymce.init({selector:'textarea#' + window.ed_id});

    },
    beforeSend: function(){

    },
    complete: function(){

    }  
    });
    }

    refreshdiv();
});

$(document.body).on('click', '#refresh_1' ,function(e){
      window.ed_id = 'txt12';
      refreshdiv();

      tinyMCE.init({mode : "none"});
      tinyMCE.execCommand('mceAddControl', false, 'txt12');
});

$(document.body).on('click', '#refresh_2' ,function(e){
      window.ed_id = 'txt13';          
      refreshdiv('txt13');
      tinyMCE.execCommand('mceAddControl', false, 'txt13');
});