在提交PHP之前保存Tinymce值



我正在尝试实现这一目标。它确实有效,但我必须在存储Tinymce值之前两次提交表格。

$("form#data").on('submit',function(e){
        e.preventDefault();
        tinymce.init({
            selector: "textarea",
            statusbar: false,
            setup: function (editor) {
                editor.on('change', function () {
                    editor.save();
                });
            }
            });
        var formData = new FormData($(this)[0]);
        $.ajax({
            url: 'includes/new_post.php',
            type: 'POST',
            data: formData,
            async: false,
            success: function (data) {
                alert(data)
            },
            cache: false,
            contentType: false,
            processData: false
        });
        return false;
    });

代码的Ajax部分正常工作,即明智的形式,但Tinymce文本区域不会在第一次时提交。如果我两次单击按钮,请保存请提供帮助。

看起来您在错误的地方进行初始化。

您第一次提交表格时,Tinymce开始初始化。相反,您应该在页面加载上初始化它。

您应该这样做:

tinymce.init({
    selector: "textarea",
    statusbar: false,
    setup: function (editor) {
        editor.on('change', function () {
            editor.save();
        });
    }
});
$("form#data").on('submit',function(e){
    e.preventDefault();
    var formData = new FormData($(this)[0]);
    $.ajax({
        url: 'includes/new_post.php',
        type: 'POST',
        data: formData,
        async: false,
        success: function (data) {
            alert(data)
        },
        cache: false,
        contentType: false,
        processData: false
    });
    return false;
});

最新更新