2013-02-14 91 views
1

我正在使用內聯編輯器ipweditor工具,它在內部使用tinyMCE編輯器。在他們的演示頁面上,它使用舊版本的tinyMCE,它不在我的IE中工作。所以我更新了tinyMCE的最新版本。TinyMCE返回無HTML內容

在老版本的TinyMCE中,它將所有HTML標籤返回給我定義的內容,而在新版本中,它僅向我返回沒有HTML標籤的文本。 以下是jsFiddle demo的鏈接。任何人都知道我應該如何配置tinyMCE,以便它還返回HTML標籤。

HTML

<div style="display:none"> 
    <form method="post" action="somepage"> 
     <textarea name="content" style="width:100%"></textarea> 
    </form> 
</div> 
<div style="border: solid thin gray; padding:5px;"> 
    <div class="my_text"><b> <span>Click me! I am editable and WYSIWYG!!!</span></b> 
</div> 

的Javascript

$(document).ready(function() { 
    var ed = new tinymce.Editor('content', { 
     mode: "exact", 
     theme: "advanced", 
     plugins: "emotions,table", 
     theme_advanced_toolbar_location: "top", 
     theme_advanced_statusbar_location: "bottom", 
     theme_advanced_resizing: true, 
     theme_advanced_buttons1: "bold,italic,underline,fontselect,fontsizeselect,forecolor,backcolor,|,code,", 
     theme_advanced_buttons2: "", 
     theme_advanced_buttons3: "", 
     table_default_cellspacing: 0, 
     table_default_border: 1, 
     remove_linebreaks: false 
    }); 

    $('.my_text').editable({ 
     type: 'wysiwyg', 
     editor: ed, 
     onSubmit: function submitData(content) { 
      alert(content.current); 
     }, 
     submit: 'save', 
     cancel: 'cancel' 
    }); 
}); 

回答

5

對插件庫進行任何修改總是不太可取,但這確實需要修改。問題出在'ipweditor.js'工具。它在內部創建新的tinyMCE編輯器對象,並以tinyMCE的「文本」格式獲得響應。

var r =options.editor.getContent({format : 'text'}); 

我們需要「HTML」

var r =options.editor.getContent({format : 'html'}); 

它更優選使該格式設置也動態的,所以添加在inital設置的設置變量,並從中獲取價值,以取代「文本」。

var defaults = { 
    onEdit: null, 
    onSubmit: null, 
    onCancel: null, 
    editClass: null, 
    submit: null, 
    cancel: null, 
    type: 'text', //text, textarea or select 
    submitBy: 'blur', //blur,change,dblclick,click 
    editBy: 'click', 
    editor: 'non', 
    options: null, 
    format:'text' 
} 
var options = $.extend(defaults, options); 

現在使用設置中定義的格式進行檢索。

var r =options.editor.getContent({format : options.format}); 
1

您可以使用content.previousHere是一個修改小提琴。

+0

確實'content.pervious'顯示帶有HTML標籤的文本,但是我想用所有HTML標籤編輯文本'content.current'。 – Nehal 2013-02-14 11:40:22

+0

看起來像ipweditor不支持(或需要特別配置 - 檢查文檔)。解決這個問題的另一種方法是在提交之前使用tinymce編輯器命令(當ipweditor提交被調用時,編輯器對象不見了!)。 – Thariama 2013-02-14 12:43:44

+1

@Tharima:是的,問題出在ipweditor上。它在內部創建tinyMCE的另一個對象,並以「文本」格式獲取內容,需要用「html」替換它。 – Nehal 2013-02-14 13:58:38