2013-12-22 2 views
1

나는 tinymce 플러그인을 작성하려고하므로 http://www.tinymce.com/에 "플러그인 만들기"튜토리얼을 확인했습니다. 콘텐츠 삽입 및 교체는 문제가되지 않으며 모든 것이 잘 작동합니다.tinyMCE 플러그인 액세스 요소

이제 목록 상자의 값을 변경 한 후 텍스트 상자의 값을 자동으로 변경하고 싶습니다. 예를 들어 listbox 요소를 변경 한 후에는 활성 요소의 값을 위의 텍스트 상자에 기록해야합니다. 이 요소에 어떻게 액세스 할 수 있습니까?

tinymce.PluginManager.add('myexample', function(editor, url) { 
// Add a button that opens a window 
editor.addButton('myexample', 
{ 
    text: 'Example', 
    onclick: function() 
    { 
     // Open window 
     editor.windowManager.open({ 
      title: 'Example Plugin', 
      body: [ 
       // Text 
       {type: 'textbox', name: 'title', label: 'Text', value: 'temp'}, 
       // Listbox 
       {type: 'listbox', name: 'test', label: 'Ziel', 
        'values': 
        [ 
         {text: 'Eins', value: '1'}, 
         {text: 'Zwei', value: '2'} 
        ],     
        onselect: function(v) 
        { 
         console.log(this.value()); 

         // CHANGE THE VALUE OF THE TEXTBOX ... 
         // ???? 
        } 
       } 
      ], 
      onsubmit: function(e) 
      { 
       console.log(e.data.title, e.data.test); 
      } 
     }); 
    } 
}); 

});

답변

-2

이제 해결책을 찾았습니다. 가장 좋은 방법은 내부 양식 디자이너를 사용하지 않는 것입니다. 당신은 당신이 예를 나는이 오래된 질문 알고

+0

전혀 아님. 첫째, tinymce windowmanager는 ID를 동적으로 생성합니다.) 둘째, 한 페이지에 수천 개의 요소가있을 수 있으며 ID는 고유하지 않습니다. – TomeeNS

2

을 찾을 수 있습니다 다음 document.getElementById(...)

Here로 작업 할 수 있습니다, 외부 HTML 페이지에 IFrame을 사용할 수 있습니다,하지만 난 같은 문제에 직면하고 있었고, 난 발견 this answer 내 하루를 구한 다른 포럼에서.

win.find('#text'); // where text is the name specified 

나는 이것이에서 다른 사람을 도울 수 있기를 바랍니다 : 요소에 액세스하기위한 다음

var win = editor.windowManager.open({ //etc 

과 :

이 작업을 수행하는 표준 TinyMCE에 방법은 변수에 팝업 창을 저장하는 것입니다 미래.

관련 문제