CKEditor 4内联编辑保存按钮插件

时间:2012-12-07 13:08:12

标签: php javascript jquery ajax ckeditor

enter image description here

我刚刚创建了一个插件ajax save。我查看了文档而不是让我感到困惑,以实现它。 当点击并通过ajax php保存内容时,如何使按钮工作?目前我无法获得内容。

文件夹:/plugins/ajaxsave/plugin.js

var saveCmd = {
    modes : { wysiwyg:1 },
    exec : function( editor ) {
        **var $content = editor.instances.editor1.getData(); ?????**
        var $data = {'keyId': 1, 'token': TOKEN, 'content': $content};

        $.ajax({
            type: 'post',
            url: '../../script/php/file.php',
            data: $data,
            dataType: 'json',
            cache: false,
            success: function(data) {

                    alert( 'OK' );

            },
            error: function(data){
                alert('fatal error');
            }
        });
       CKEDITOR.instances.editor1.destroy();
   }

}
CKEDITOR.plugins.add('ajaxsave',  {    

    init:function(editor) {

        var pluginName = 'ajaxsave';
        var command = editor.addCommand(pluginName,saveCmd);
        command.modes = {wysiwyg:1 };   

        editor.ui.addButton('ajaxsave', {
            label: 'Save text',
            command: pluginName,
            toolbar: 'undo,1',
            icon: this.path+'save.png'
        });
    }
});

3 个答案:

答案 0 :(得分:3)

**var $content = editor.instances.editor1.getData(); ?????**

应该是:

var $content = editor.getData();

editor你的插件有一个init方法的参数。为每个编辑器实例调用此方法。

答案 1 :(得分:0)

试试这个: -

  var ckvalue = CKEDITOR.instances['editor1'].getData(); // editor1 is id of the ckeditor textarea


   //or

   $('#editor1').ckeditor(function( textarea ){
    $(textarea).val();
    });

答案 2 :(得分:0)

在这里查看我的问题答案

How to add an ajax save button with loading gif to CKeditor 4.2.1. [Working Sample Plugin]

在工作保存按钮插件的答案中有一个下载链接。