保存来自CKEditor 4 asp net的已编辑内联文本

时间:2012-09-25 00:16:29

标签: asp.net-mvc-3 ckeditor

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

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

我在中查看以获取文档....无法找到它。

我觉得这是一项简单的任务,但我只是不知道如何。

2 个答案:

答案 0 :(得分: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();

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

玩得开心!

答案 1 :(得分:1)

您是尝试使用AJAX获取它还是使用表单发送?例如,带有 Lorem Ipsum 的右上角内联编辑器区域的值可以像旧版本中那样只需

CKEDITOR.instances.editor1.getData().

XHTML output example中,他们有一个似乎有用的简单表单,我相信使用(静态)内联编辑器是一样的。

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