2013-04-11 62 views
2

我一直在這裏掙扎幾個小時。我們在我們的一個消費系統的後端使用tinyMCE,並且他們希望用戶輸入到TinyMCE編輯器的任何文本能夠被鏡像到常規文本字段(沒有html標記在裏面)。TinyMCE:從TinyMCE到普通文本字段的實時複製文本

這裏的想法是有一個HTML郵件內容(TinyMCE)字段和一個簡單明文郵件(常規textarea)。因此,當用戶在TinyMCE內鍵入他們的電子郵件內容時,文本將逐個字母複製到純文本區域。

然而,我無法得到這個看似基本的功能,即使使用tinyMCE特定的JS。

這裏是我的最新嘗試(幾個,不是說這比我之前反覆 「更正確」 的,只是最新的):

<div class="row not-on-phone"> 
        <label for="wysiwyg"> 
         <strong>HTML</strong> 
        </label> 
       <div> 
        <br style="line-height:1px"> 
        <TEXTAREA name="HTML" id="HTML" WRAP="Physical" onkeyup="copyText()" class="rtfeditor"><cfoutput>#HTML#</cfoutput></TEXTAREA> 
        <br style="line-height:1px"> 
       </div> 
      </div> 
      <div class="row not-on-phone"> 
        <label for="wysiwyg"> 
         <strong>Plain Text</strong> 
        </label> 
       <div> 
        <br style="line-height:1px"> 
        <TEXTAREA name="Text" id="Text" WRAP="Physical" rows="20"><cfoutput>#Text#</cfoutput></TEXTAREA> 
        <br style="line-height:1px"> 
       </div> 
      </div> 

相關JS:

<script language="javascript"> 

function copyText(){ 
    var content = tinymce.get('HTML').getContent({format : 'raw', no_events : 1}); 
    document.getElementsById('Text').innerHTML = content; 
} 
</script> 

那麼怎麼辦通過TinyMCE的按鍵,我可以將文本複製到這個常規文本區域中進行實時按鍵操作?

+0

+1好問題 – Thariama 2013-04-12 08:44:59

回答

1

爲此,您需要在onKeydown或onkeyup處理程序上使用tinymce。這個可以設置在這樣的tinymce init中

tinyMCE.init({ 
    ... 
    setup : function(ed) { 
     ed.onKeyUp.add(function(ed, evt) { 
      copyText(); 
     }); 
    } 
}); 
+0

你能舉一個這樣的工作例子嗎? – 2013-04-15 14:48:00

+1

當然,看看這個簡單的tinymce小提琴:http://fiddle.tinymce.com/fcdaab/1 – Thariama 2013-04-15 15:16:19

+0

對不起,我想我一定是錯過了什麼...當我鍵入到任何文本字段沒有反應? – 2013-04-15 16:36:33