Загрузка текста в tinyMCE для Wordpress через AJAX - PullRequest
4 голосов
/ 06 марта 2012

Я использую tinyMCE для 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 ]

3 голосов
/ 07 марта 2012
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.На самом деле нет необходимости в этом конкретном вопросе, но полезно знать это.

0 голосов
/ 04 апреля 2012

Попробуйте этот код, где ' content ' - это ваше поле # ID

tinymce.init (tinyMCEPreInit.mceInit ['content']);

таким образом и после того, как tinymce также будет загружен в текущий html, вы будете повторно устанавливать только одно поле, которое вы получили из Ajax-запроса.

также установите этот код перед сохранением ajax. Вызов

tinymce.activeEditor.save ();// получить экземпляр редактора

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...