2010-07-16 45 views
5

下面的代碼應該允許隱藏/顯示CKEditor的形式如何使用jQuery隱藏和顯示CKEditor?

<a onClick="$('#form1').hide();">Hide</a> 
<a onClick="$('#form1').show();">Show</a> 
<form action="sample_posteddata.php" method="post" id="form1"> 
    <textarea id="editor1" name="editor1">blabla</textarea> 
    <script type="text/javascript"> CKEDITOR.replace('editor1'); </script> 
    <input type="submit" value="Submit" /> 
</form> 

但是,此代碼工作正常,在Chrome,但在Firefox,我一旦觸發,一旦編輯器(一個「隱藏」點擊後面跟着一個'顯示'點擊),它變得不可編輯!

如何讓它在每個瀏覽器上都能正常工作?

謝謝。

回答

2

它似乎沒有真正的解決方法。

有關更多信息,請參閱here。唯一的解決方案是等待CKEditor 3.4的新版本。

2

看起來這可能會幫助你:

http://dev.ckeditor.com/ticket/544

在我鏈接到他們的報表中顯示嘗試這樣的事:

if (frames[0]) { 
    frames[0].FCK.EditingArea.MakeEditable(); 
} 
+0

我會嘗試你的建議...但你已經把它比作它的bug被標記爲FIXED,並且我正在使用CKEditor的最新版本。 – fabien7474 2010-07-17 10:33:34

+0

我試過了,但它不起作用(CKEditor版本3.X中不再使用FCK)。你有另一個想法嗎? – fabien7474 2010-07-17 11:11:27

+0

你有我可以測試的網站嗎? – spinon 2010-07-17 18:59:23

1

嘗試在一個div例如,它包裹:<div id="fckz"> <form >...</form> </div> 並在div上進行隱藏顯示。

+1

上工作我已經試過了。根本不工作。 – fabien7474 2010-07-17 10:29:58

3

解決辦法是:

// Hide form 
CKEDITOR.instances.editor1.updateElement(); 
CKEDITOR.instances.editor1.destroy(); 
$('#form1').hide(); 
//Show form 
CKEDITOR.replace('editor1', {height: "220px", skin: "v2"}); 
$('#form1').show(); 
+1

Thx。我會試一試。同時我已經轉向MarkItUp ... – fabien7474 2010-12-30 09:22:12

2
<div id="container">    
    <textarea class="ckeditor" cols="80" id="editor1" name="editor1" rows="10"></textarea> 
</div> 
<p> 
    <input type="button" value="jQuery Hide" onclick="$('#container').hide('fast');" /> 
    <input type="button" value="jQuery Show" onclick="$('#container').show('fast');" /> 
</p>