Вызов jquery-функции tinymce onkeyup

У меня проблема с интеграцией tinymce. Вот мой код и мое неработающее решение:

<div class="mcebox">
    <label>Text </label>
    <textarea name="text" class="ta_cprofi mceEditorblick" id="textcontent"></textarea>
    <div id="preview"></div>
</div>

<script language="javascript" type="text/javascript">
    tinyMCE.init({
        mode: "specific_textareas",
        editor_selector: "mceEditorblick",
        theme: "advanced",

        paste_auto_cleanup_on_paste: true,
        theme_advanced_buttons1: "bold",
        theme_advanced_buttons2: "", 
        theme_advanced_buttons3: "",

        setup: function(ed) {
            ed.onKeyUp.add(function() {
                alert("Hello");
            });
        },
    });

    function blumieka() {
        $.ajax({
            type: "POST",
            url: "inc/admin/blumieka/ajax_modules/ajax_ads.php",
            data: "load=blumieka&text=" + document.getElementById("textcontent").value,

            success: function(html) {
                $("#preview").html(html)
            }
        });
    }
</script> 

Предупреждающее сообщение работает отлично. Теперь я хочу заменить оповещение функцией jquery «blumieka». Я пробовал это:

setup: function(ed) {
    ed.onKeyUp.add(function() {
        blumieka();
    });
},

Но это не работает... В чем моя ошибка?

Я использую tinymce версии 3. Мне просто нужно tinymce только потому, что я должен выделить текст в текстовом поле жирным шрифтом.

Спасибо за помощь мне. Я в отчаянии.


person Franky    schedule 13.09.2015    source источник


Ответы (1)


Я подозреваю, что проблема у вас document.getElementById("textcontent").value. Это не получает значения редактора. Это просто пустой текст. Чтобы получить фактический HTML-контент из редактора, вам нужно использовать tinyMCE.activeEditor.getContent().

tinyMCE.init({
    mode: "specific_textareas",
    editor_selector: "mceEditorblick",
    theme: "advanced",

    paste_auto_cleanup_on_paste: true,
    theme_advanced_buttons1: "bold",
    theme_advanced_buttons2: "", 
    theme_advanced_buttons3: "",

    setup: function(ed) {
        ed.onKeyUp.add(function() {
            blumieka();
        });
    },
});

function blumieka() {
    //get the actual content from editor
    var content = tinyMCE.activeEditor.getContent();
    $.ajax({
        type: "POST",
        url: "inc/admin/blumieka/ajax_modules/ajax_ads.php",
        data: "load=blumieka&text=" + content,

        success: function(html) {
            $("#preview").html(html)
        }
    });
}

Вот рабочая DEMO.

person PalinDrome555    schedule 13.09.2015