2

我正在尝试将CKEditor 4实现到我正在处理的 ASP NET 网站中,但我无法弄清楚如何从内联编辑器中保存编辑过的材料我知道如何使用旧版本来完成它,但我只是不'不明白这个过程。

我看过论坛...没有v4论坛。

我查看文档....找不到。

我有一种感觉,这是一个简单的任务,但我只是不知道如何。

4

2 回答 2

5

您可以使用CKEDITOR.instances.editor1.getData(). 然后您可以通过 AJAX 发送它或将其存储为某个输入字段的值。要定期执行此操作,请遵循以下方法:

CKEDITOR.disableAutoInline = true;

var editor = CKEDITOR.inline( 'editable' );

var savedData, newData;
function saveEditorData() {
    setTimeout( function() {
        newData = editor.getData();

        if ( newData !== savedData ) {
            savedData = newData;

            // Send it with jQuery Ajax
            $.ajax({
                url: 'yourUrl',
                data: savedData
            });

            // Or store it anywhere...
            // ...
            // ...
        }

        saveEditorData();
    }, 500 );
};

// Start observing the data.
saveEditorData();

您还可以观察提交事件并使用您的数据更新一些(隐藏的)表单字段。

玩得开心!

于 2012-09-25T08:02:35.563 回答
1

您是想通过 AJAX 获取它还是通过表单发送?例如,带有Lorem Ipsum的右上角内联编辑器区域的值可以像在旧版本中一样简单地获得

CKEDITOR.instances.editor1.getData().

XHTML 输出示例中,它们有一个似乎可以工作的简单表单,我相信使用(静态)内联编辑器是一样的。

如果您将元素动态转换为内联编辑器,我会尝试绑定到提交事件,并在通过 all 提交循环之前CKEDITOR.instances,将它们的数据隐藏在字段中。至于隐藏字段命名或识别哪个隐藏字段对应哪个动态编辑器,您必须自己弄清楚:)

于 2012-09-25T07:57:22.283 回答