2010-07-16 11 views
5

Il seguente codice dovrebbe consentire di nascondere/mostrare la forma CKEditorCome nascondere e mostrare un CKEditor usando jQuery?

<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> 

Tuttavia, questo codice funziona bene su Chrome, ma su Firefox, una volta che ho commutato una volta l'editor (uno 'nascondere' Clicca seguito da un ' mostra 'click', non diventa modificabile !!

Come posso farlo funzionare su tutti i browser?

Grazie.

risposta

2

Non sembra avere una soluzione reale.

Vedere here per ulteriori informazioni. L'unica soluzione è aspettare la nuova versione 3.4 di CKEditor.

2

Sembra che questo potrebbe aiutarti:

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

Nella relazione ho collegato a essi mostrano provare qualcosa di simile:

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

I Proverò il tuo suggerimento ... ma il bug che hai gradito è contrassegnato come FIXED e sto usando l'ultima versione di CKEditor. – fabien7474

+0

L'ho provato ma non funziona (FCK non è più utilizzato in CKEditor versione 3.X). Hai un'altra idea? – fabien7474

+0

Hai un sito su cui posso testare? – spinon

1

Prova avvolse in un div per esempio: <div id="fckz"> <form >...</form> </div> e fai lo show hide sul div.

+1

ho già provato. Non funziona affatto. – fabien7474

3

soluzione è:

// 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. Lo proverò. Nel frattempo sono passato a MarkItUp ... – fabien7474

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> 
Problemi correlati