2013-04-11 2 views
2

나는 몇 시간 동안 여기에서 고생하고 있습니다. 우리는 소비자 시스템 중 하나에 대한 백엔드의 tinyMCE를 사용하고 사용자가 TinyMCE 편집기에 입력하는 텍스트가 일반 텍스트 필드 (HTML 마크 없음)로 미러링되도록하려는 능력을 필요로하는 능력을 요구합니다. 내부).TinyMCE : TinyMCE에서 일반 텍스트 필드로 복사 한 텍스트

여기에는 HTML 메일 콘텐츠 (TinyMCE)에 대한 필드와 간단한 일반 텍스트 메일 (일반 텍스트 영역)에 대한 필드가 있습니다. 따라서 사용자가 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

답변

1

이렇게하려면 Keydown 또는 onkeyup 처리기에 주석을 사용해야합니다. 이 같은 tinymce 초기화에서 설정할 수 있습니다

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

당신은이 작업 예제를 줄 수 있습니까? –

+1

틀림없이,이 간단한 tinymce 바이올린을 보아라 : http://fiddle.tinymce.com/fcdaab/1 – Thariama

+0

미안, 나는 뭔가를 놓치고 있어야한다고 생각한다 ... 어느 쪽의 텍스트 필드에 입력해도 아무 일도 일어나지 않는다? –

관련 문제