通过AJAX在tinyMCE for Wordpress中加载文本

时间:2012-03-06 14:40:32

标签: php jquery wordpress tinymce

我正在使用tinyMCE for Wordpress 哪种方式是通过AJAX从服务器加载文本?
到现在为止我有:

PHP:

<?php echo the_editor($_POST ? $_POST['content'] : '', $id = 'content'); ?>

javascript(失败......):

$("select[name='tpl']").live("change", function(e) {
    var file = $(this).val();
    var loadUrl = varsJs.WORDPRESS_PLUGIN_URL + "/templates/" + file;
    $.get(loadUrl, function(result) {
        $("#content").val(result);
    });
});

变量result加载了所需的文本。没问题。但是如何将这些内容传递给tinyMCE?

2 个答案:

答案 0 :(得分:3)

if (typeof tinymce === "object"){
    $("select[name='tpl']").live("change", function(e) {
        var file = $(this).val();
        var loadUrl = varsJs.WORDPRESS_PLUGIN_URL + "/templates/" + file;
        $.get(loadUrl, function(result) {
            tinymce.get("content").focus();
            tinymce.activeEditor.setContent(result);
        });
    });
}

注意:varsJswp_localize_script函数的第二个参数,用于将数据从php传递到javascript。在这个精确的问题上真的不需要,但知道它很有用。

答案 1 :(得分:0)

尝试使用此代码,其中“内容”是您的字段#ID

  

tinymce.init(tinyMCEPreInit.mceInit [ '内容']);

这种方式,一旦在当前的html中加载了tinymce, 您将只重新启动一个字段,即您从Ajax请求中收到的字段。

还在ajax save Call

之前设置此代码
  

tinymce.activeEditor.save(); //获取编辑器实例