2010-07-16 8 views
5

Le code suivant devrait permettre de masquer/afficher la forme CKEditorComment cacher et afficher un CKEditor en utilisant 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> 

Cependant, ce code fonctionne très bien sur Chrome, mais sur Firefox, une fois que je l'ai basculée une fois l'éditeur (un « cache » cliquez suivi par un ' show 'click), il ne devient pas modifiable !!

Comment puis-je le faire fonctionner sur tous les navigateurs?

Merci.

Répondre

2

Il ne semble pas avoir une vraie solution de contournement.

Voir here pour plus d'informations. La seule solution est d'attendre CKEditor nouvelle version 3.4.

2

On dirait que cela pourrait vous aider:

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

Dans le rapport, je lié à ils montrent essayer quelque chose comme ceci:

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

I Je vais essayer votre suggestion ... mais le bug que vous avez aimé est marqué comme FIXED et j'utilise la dernière version de CKEditor. – fabien7474

+0

Je l'ai essayé mais ça ne marche pas (FCK n'est plus utilisé dans CKEditor version 3.X). Avez-vous une autre idée? – fabien7474

+0

Avez-vous un site sur lequel je peux tester? – spinon

1

Essayez d'enveloppées dans un div par exemple: <div id="fckz"> <form >...</form> </div> et faire le spectacle de cacher sur la div.

+1

J'ai déjà essayé. Ne fonctionne pas du tout. – fabien7474

3

solution est:

// 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. Je vais essayer. En attendant, je suis passé à 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>