2015-11-02 147 views
0

我想将正常textarea转换为tinyMCE单击按钮编辑器。情景是,我有两个按钮在我的页面和两个textarea从一个按钮点击一个jquery函数将被调用,并从其他第二个jquery按钮将被调用,功能调用正常,但问题是,正常textarea不是当点击一个特定的按钮时转换为tinyMCE编辑器。请帮忙解决下面是我的工作代码和一个更多的事情后,将有保存按钮等等保存按钮点击tinyMCE编辑器可以很容易地更改为正常textarea将textarea更改为tinyMCE编辑器按钮单击

的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> 
+2

很酷,你的代码有什么问题?我们应该运行它并调试或调用仙女? – mikus

+0

我的文本区不会更改为按钮单击上的tinyMCE编辑器,因为您可以看到我在上面对我的问题进行了描述。 – user3653474

+0

你是否设法使tinymce以其他方式工作? – mikus

回答

1

你需要把TinyMCE的初始化到阿贾克斯成功处理函数,以获得执行。否则,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'); 
}); 
+0

感谢您的回答,但我必须将textarea转换为tinyMCE编辑器,然后按一下按钮,就像tinymce.init({selector:'textarea'})一样进行操作。在成功部分添加它使得两个文本框在页面加载时变为tinyMCE,但我不希望这样。请回答我的问题。 – user3653474

+0

看到我更新的答案 – Thariama

相关问题