TinyMCE:从TinyMCE到常规文本字段的实时复制文本

时间:2013-04-11 20:20:54

标签: javascript jquery html tinymce

我已经在这里挣扎了好几个小时了。我们在后端使用tinyMCE用于我们的一个消费者系统,并且他们希望能够将用户输入到TinyMCE编辑器的任何文本的能力镜像到常规文本字段(没有html标记)在里面)。

这里的想法是为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> 

Pertinent JS:

    <script language="javascript">

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

那么如何通过TinyMCE的按键实时击键将文本复制到这个常规文本区域?

1 个答案:

答案 0 :(得分:1)

为此,您需要使用onKeydown或onkeyup处理程序。这个可以像这样

在tinymce init中设置
tinyMCE.init({
   ...
   setup : function(ed) {
      ed.onKeyUp.add(function(ed, evt) {
          copyText();
      });
   }
});