2017-07-17 44 views
8

在多選項卡頁面上,某些選項卡submit進程通過ajaxSubmit更改了其他選項卡的內容。如果另一個選項卡包含活動的tinyMCE編輯,在更換內容之前應該如何處理該選項卡,以及在更換之後應該如何處理(如果有的話)?使用ajaxSubmit替換DOM部分時,應該如何處理tinyMCE?

當前代碼在目標選項卡中的所有編輯器上執行tinyMCE.execCommand("mceRemoveControl", true, ed_id);,並依賴系統的正常功能在更改後將其返回。這一切都是必要的嗎?更改後,我在tinyMCE代碼中遇到了模糊的例外情況,但很難找出原因。

錯誤本身是SCRIPT5022:IndexSizeError - tiny_mce.js(1,78075)但我懷疑這是特別相關的。

TinyMCE的v3.4.5

+0

https://stackoverflow.com/a/10096122/1544886 –

+0

我不知道,如果它使有區別,但我會使用'tinyMCE.execCommand (「mceRemoveControl」,false,ed_id);'無論如何 –

+0

@KScandrett - 爲什麼 - 有什麼區別?代碼中的一個小問題表明'remove'方法忽略了第二個參數。無論如何感謝您的興趣。 – OldCurmudgeon

回答

4

正如我所說的也有它的問題負載我已經嘗試了許多次,得到它的工作我的評論TinyMCE的不AJAX發揮好。

在我切換到CKEditor的結束,所以如果你想嘗試使用它,你可以在這裏是你需要的ajaxSubmit()選項

beforeSubmit:function{ 
    for(var instanceName in CKEDITOR.instances) { 
     try{ 
      CKEDITOR.instances[instanceName].destroy(); 
     }catch(e){ 
     } 
    } 
} 

上面的代碼將刪除的CKEditor您提交乾淨之前的代碼以下是如何重新inistialize當你的Ajax再次完成的CKEditor這是一個ajaxSubmit()選項:

success:function(){ 
    // do what you need to update your DOM and then final call is 
    $("editorSelector").ckeditor(options); 
} 
相關問題