2012-12-07 53 views
2

enter image description hereCKEditor 4內聯編輯保存按鈕插件

我剛剛創建了一個插件ajax保存。我查看過文檔,而不是讓我感到困惑,以實現它。 當點擊並通過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' 
     }); 
    } 
}); 
+0

問題是什麼?它會給你一個錯誤?它沒有保存嗎?請帶我們解決問題。 – Trufa

+0

@Trufa它不識別可編輯的內容。我如何獲取內容並通過ajax傳遞它。 – tonoslfx

回答

0

試試這個: -

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


    //or 

    $('#editor1').ckeditor(function(textarea){ 
    $(textarea).val(); 
    }); 
3
**var $content = editor.instances.editor1.getData(); ?????** 

應該是:

var $content = editor.getData(); 

editor有一個你的插件的init方法的參數。這個方法被每個編輯器實例調用。