我正在使用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?
答案 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);
});
});
}
注意:varsJs
是wp_localize_script
函数的第二个参数,用于将数据从php
传递到javascript
。在这个精确的问题上真的不需要,但知道它很有用。
答案 1 :(得分:0)
尝试使用此代码,其中“内容”是您的字段#ID
tinymce.init(tinyMCEPreInit.mceInit [ '内容']);
这种方式,一旦在当前的html中加载了tinymce, 您将只重新启动一个字段,即您从Ajax请求中收到的字段。
还在ajax save Call
之前设置此代码tinymce.activeEditor.save(); //获取编辑器实例