在预览Fancybox窗口中提交表格(TinyMCE有问题)




我想在Fancybox窗口中提交一个表单,用于预览目的;这看起来并不那么困难,因为一个简单的

$('#preview').fancybox({
    ajax: {
        type: "POST",
        data: $('#form1').serialize()
    }
});

能胜任这份工作
但事情从来没有这么容易过,TinyMCE编辑器(jQuery版本)增加了麻烦
我发现上面的代码没有发送更新的文本区域内容(不知道为什么),所以它对预览没有用处

我最终得到了这个:

$('#preview').click(function(e){
    e.preventDefault();
    $(this).fancybox({
        ajax: {
            type: "POST",
            data: $('#form1').serialize()
        }
    });
})

那就可以了,但前提是我点击两次che#预览锚
似乎第一次点击"更新"文本区域内容,第二次点击打开Fancybox

你有更好的解决方案吗?我在谷歌上搜索了一下,但似乎没有"在预览fancybox窗口提交表格"的内容。。。

提前感谢。。。

您请求文本区域内容,但内容似乎不是最新的。这是因为tinymce编辑器的内容不在文本区域内,而是在可编辑内容的iframe内。前一个文本区域被隐藏。要更新隐藏的文本区域,可以使用tinymce.triggerSave()

$('#preview').click(function(e){
    e.preventDefault();
    tinymce.triggerSave();
    $(this).fancybox({
        ajax: {
            type: "POST",
            data: $('#form1').serialize()
        }
    });
})

或者直接从编辑器中获取tinymce内容

$('#preview').click(function(e){
    e.preventDefault();
    $(this).fancybox({
        ajax: {
            type: "POST",
            data: tinymce.get('form1').getContent();
        }
    });
})

最新更新