2010-07-16 33 views
5

El siguiente código debe permitir ocultar/mostrar la forma de CKEditor¿Cómo ocultar y mostrar 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> 

Sin embargo, este código funciona bien en Chrome, pero en Firefox, una vez que haya conmutado una vez que el editor (una 'ocultar' clic seguido de uno ' mostrar 'clic), ¡no se puede editar!

¿Cómo puedo hacer que funcione en todos los navegadores?

Gracias.

Respuesta

2

No parece tener una solución real.

Consulte here para obtener más información. La única solución es esperar la nueva versión 3.4 de CKEditor.

2

Parece que esto podría ayudarle a cabo:

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

En el informe he vinculado a Muestran intentar algo como esto:

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

I Intentaremos tu sugerencia ... pero el error que has calificado está marcado como FIJO y estoy usando la última versión de CKEditor. – fabien7474

+0

Lo probé, pero no funciona (FCK ya no se usa en CKEditor versión 3.X). ¿Tienes otra idea? – fabien7474

+0

¿Tiene un sitio que puedo probar? – spinon

1

Intente lo envolvió en un div por ejemplo: <div id="fckz"> <form >...</form> </div> y haz que el hide se muestre en el div.

+1

Ya lo he intentado. No funciona en absoluto. – fabien7474

3

solución es:

// 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 probaré. Mientras tanto, he cambiado 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> 
Cuestiones relacionadas