2011-10-28 55 views
4

我有如下形式的第二部分CKEDITOR領域。我在頁面上的一些操作按鈕,所以每當我單擊「清除」或「取消」此功能被其他的東西一起燒:CKEditor的innerHTML的錯誤

CKEDITOR.instances['ed1'].updateElement(); 
    CKEDITOR.instances['ed1'].setData(''); 
    CKEDITOR.instances['ed2'].updateElement(); 
    CKEDITOR.instances['ed2'].setData(''); 

這樣,我打掃的CKEditor字段的內容。問題是,如果我點擊「取消」,然後回到頁面並點擊「清除」,Internet Explorer會給出一個「innerHTML爲空或未定義」的JS錯誤。

它可以在其他瀏覽器罰款,只有當我從不同的按鈕連續兩次執行更新情況。有沒有解決方法?

CKEditor的初始化onReady:

CKEDITOR.replace('ed1', { htmlEncodeOutput: true, width:"700",toolbar: 'Basic' 
}); 

CKEDITOR.replace('ed2', { htmlEncodeOutput: true, width:"700",toolbar: 'Basic' 
}); 

我也許應該補充一點,我使用.show().hide()每當我用取消按鈕隱藏表格,然後讓其他的東西。沒有頁面重新加載。

+0

你能發佈一些更多的代碼?而你嘗試過使用jQuery擴展,然後做'$( '#ED2')VAL( '');' - http://docs.cksource.com/CKEditor_3.x/Developers_Guide/jQuery_Adapter –

+0

使用jQuery適配器意味着只是增加一個額外的層,並不會幫助他理解問題 – AlfonsoML

回答

1

我找到了解決這個問題。有人這樣做,因爲我清楚的方法使用jQuery bind功能解僱,並沒有放在onReady功能,所以它的事件結合在一起,給這個錯誤的原因。解決方案是首先使用unbind