【问题标题】:TinyMCE editor in Ajax form using jQuery plugin使用 jQuery 插件的 Ajax 形式的 TinyMCE 编辑器
【发布时间】:2010-12-14 11:48:56
【问题描述】:

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

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

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

【问题讨论】:

标签: javascript ajax tinymce


【解决方案1】:

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

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 字段中。

希望对您有所帮助。

【讨论】:

  • 查看了上面在 (wiki.moxiecode.com/index.php/…) 提供的链接,它指的是可能不再支持的较旧的 2.x API。看看我上面提供的代码是否可以帮助您尝试。
【解决方案2】:

正如 Dave G 已经指出的那样,API 链接是旧的(我想知道 triggerSave 的调用)。

请尝试

tinyMCE.triggerSave();

【讨论】:

    猜你喜欢
    • 2011-12-06
    • 2012-04-18
    • 1970-01-01
    • 2012-10-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多