繁体   English   中英

使用jQuery插件的Ajax形式的TinyMCE编辑器

[英]TinyMCE editor in Ajax form using jQuery plugin

我有ajax表单(http://jquery.malsup.com/form/),并且我使用jQuery插件来安装TinyMCE编辑器。 但是我无法在ajax请求中获取textarea内容。 这是因为它在TinyMCE编辑器iframe中。 我尝试了Google的一些教程,但都对我没用。 编辑器出现,但是当我发送ajax请求时,它无法获取已编辑的textarea内容。

这是我安装TinyMCE编辑器的方法,但是失败了

$("textarea.tinymce").tinymce({         
    script_url : tinymceUrl,
    mode : "none",
    theme : "simple",
    setup : function(ed) {
        ed.onChange.add(function() {
            tinyMCE.triggerSave(true,true);
        });
    }
});

onChange事件充其量是“ iffy”。 最近,我通过一个正在进行的项目来完成此过程,并且不得不绑定焦点和模糊事件……这并不漂亮。 在我的设置处理程序中,我执行了以下操作。 我删除了特定于我的项目的代码,并在保存位置添加了注释。

ed.onPostRender.add(function(editor, cm) {
    // Register focus and blur events on BOTH the window and the doc, this way it works properly in
    // IE, Firefox & Chrome
    tinymce.dom.Event.add(editor.getWin(), 'focus', function(e) { });
    tinymce.dom.Event.add(editor.getWin(), 'blur', function(e) { /* save on blur */ });
    tinymce.dom.Event.add(editor.getDoc(), 'focus', function(e) { });
    tinymce.dom.Event.add(editor.getDoc(), 'blur', function(e) { /* save on blur */ });
});

附带一提,我注意到您正在使用triggerSave(true,true)调用编辑器管理器(tinyMCE)。 我没有在3.3.9.2 API中看到该信息,所以我不知道该怎么做。 在上面的代码中,传递了编辑器(e)的句柄,并且可以调用方法e.save()进行保存并将其存储在由tinyMCE装饰的textarea字段中。

希望能有所帮助。

正如Dave G已经指出的那样,API链接已经过时了(我想知道关于triggerSave的调用)。

请试试

tinyMCE.triggerSave();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM