17

テキストエリアとAJAXを介したPOSTフォームにtinyMCEを使用しています。

しかし、textarea値を保存しようとすると、最初のクリックで古い値を取得しますが、2回目のクリックで更新された値を取得します。

使ってみtinyMCE.triggerSave()ましたがうまくいきませんでした。

私も試しtinyMCE.get('myid').getContent()ましたが、それでも古い値が必要です。

私のコードは次のとおりです。

    $(".submit").live("click", function () {
            tinyMCE.triggerSave();
            var f = $(this).parents("form");
            var action = f.attr("action");
            var serializedForm = f.serialize();
            //tinyMCE.triggerSave(); also tried putting here
            $.ajax({
                 type: 'POST',
                 url: action,
                 data: serializedForm,
                 async: false,
                 success: function (data, textStatus, request) {
                     $(".divform").html(data);
                 },
                 error: function (req, status, error) {
                     alert&("Error occurred!");
                 }
            });
    return false;
    });

助けてください、どんな助けでもいただければ幸いです

4

7 に答える 7

53

次のように TinyMCE を構成して、TinyMCE エディターを介して変更が行われたときに非表示のテキストエリアの値を同期させることができます。

tinymce.init({
    selector: "textarea",
    setup: function (editor) {
        editor.on('change', function () {
            tinymce.triggerSave();
        });
    }
});

これにより、いつでも textarea 要素から最新の値に直接アクセスできます。

これは TinyMCE 4.0 でテスト済みです。

デモの実行場所: http://jsfiddle.net/9euk9/

于 2014-06-18T11:43:24.857 に答える
15

代わりにこれを使用してくださいtinymce.triggerSave();

$('#' + 'your_editor_id').html( tinymce.get('your_editor_id').getContent() );
于 2013-01-18T09:51:06.343 に答える
2

Ajax を使用してデータを投稿する前に、このスクリプトを使用してください。これは使用前の JavaScript コードです。小さな mce js ファイルをロードして使用してください。

tinymce.triggerSave();

$.ajax({ 
    type: 'post', 
    url: 'autoSaveReport.php', 
    data: $('form').serialize(), 
    success: function (result) { 
        var redirectURL = window.location.pathname; 
        var redirectURL1 = redirectURL+"?incid="+result; 
        window.location = window.location+"?incid="+result; 
    } 
});
于 2019-02-08T11:30:03.287 に答える