2013-04-15 45 views
2

好吧,我一直試圖讓這個腳本工作,但我無法弄清楚什麼是錯的。 我試圖讓tinyMCE從2個字段使用jQuery對話接受輸入並以特定格式輸出。這是我在TinyMCE插件代碼:輸入值將不會更新

(function() { 
tinymce.create('tinymce.plugins.RMFtooltip', { 
    init : function(ed, url) { 
     ed.addButton('RMFtooltip', { 
      title : 'ToolTip', 
      image : url+'/RMFtooltipbutton.png', 
      onclick : function() { 
       i = jQuery('<div title="Create your tooltip" ></div>'); 
       /*jQuery.get(url+'/ajax/form.html', function(data) { 
        i.html(data); 
       });*/ 
       i.load(url+'/ajax/form.html'); 
       i.dialog({ 
        autoOpen: true, 
        draggable: false, 
        resizable: false, 
        modal: true, 
        buttons: { 
         "OK": function() { 
          RMFtooltip_text = jQuery("#RMFtooltip_text").val(); 
          RMFtooltip_tip = jQuery("#RMFtooltip_tip").val(); 
          if (RMFtooltip_text != null && RMFtooltip_text != '' && RMFtooltip_tip != null && RMFtooltip_tip != ''){ 
           ed.execCommand('mceInsertContent', false, '[tooltip tip="'+RMFtooltip_tip+'"]'+RMFtooltip_text+'[/tooltip]'); 
          } 
          jQuery(this).dialog("close"); 
         }, 
         Cancel: function() { 
          jQuery(this).dialog("destroy"); 
         } 
        } 
       }); 
... 

現在,我第一次點擊按鈕,在tinyMCE的一切工作正常,但如果我再次點擊它,我得到把無論輸入什麼是相同的。例如:我在提示中的文本和欄輸入foo和點擊確定,一切工作正常(我得到「[提示提示=」酒吧「]富[/提示]」),然後我再使用它,這一次我進入在文本中顯示爲藍色,在提示中顯示爲藍色,但我仍然得到相同的輸出(「[tooltip tip =」bar「] foo [/ tooltip]」)。它似乎不會重新讀取輸入... 請幫助


PS:我使用Ajax來獲取表單(因爲這是一個js文件),我可以在這裏附上,但它不似乎是它可以與我無關....

+0

後,這將是有益的,看看你的表單代碼 – Nate

回答

2

您將需要在每次關閉時清空對話框,jQuery將只保留在創建每個點擊調用函數時幕後新的HTML。你將永遠不會再看到這個html,但它在那裏,並且正在使用你的表單元素的ID搞亂你的調用。

爲了解決這個問題,只是一句對話的每個呼叫

//... 
buttons: { 
     "OK": function() { 
      RMFtooltip_text = jQuery("#RMFtooltip_text").val(); 
      RMFtooltip_tip = jQuery("#RMFtooltip_tip").val(); 
      if (RMFtooltip_text != null && RMFtooltip_text != '' && RMFtooltip_tip != null && RMFtooltip_tip != ''){ 
       ed.execCommand('mceInsertContent', false, '[tooltip tip="'+RMFtooltip_tip+'"]'+RMFtooltip_text+'[/tooltip]'); 
      } 
      jQuery(this).dialog("close"); 
      jQuery(this).empty(); //Add this 

     }, 
      Cancel: function() { 
       jQuery(this).dialog("destroy"); 
       jQuery(this).empty(); //Add this 
      } 
    } 
//... 
+0

謝謝!有效! – ItayXD