2010-01-10 5 views
9

Bueno, primero escribí una función Javascrip que cambiaría el texto en un textarea de acuerdo con la selección que hizo en un cuadro desplegable, algo realmente simple.JavaScript no puede cambiar el texto en textarea una vez que se invocó la instancia de CKeditor

HTML

<form name="formconteudo"> 
<select name="selectpage" onChange="change();"> 
<option value="1">something</option> 
<option value="2">another thing</option> 
<option value="3">going crazy</option> 
</select> 
</form> 

JS

var Code = new Array("", "Selected 1", "Selected 2", "Selected 3"); 
function change() 
{ 
var ID = formconteudo.selectpage.options[formconteudo.selectpage.selectedIndex].value; 
document.formconteudo.ckeditor.value = Code[ID]; 
} 

Esto funcionó bastante bien y cambió el texto en el área de texto. Pero luego llamé a una instancia de CKeditor en ese área de texto, para poder usar el CKEditor en ese área de texto. El Editor se carga bien y funciona muy bien. Pero ahora el javascript no funciona.

¿Alguna pista sobre el problema?

Gracias

Respuesta

26

Usted va a querer utilizar el método setData en el editor.

Aquí is the example from their docs.

CKEDITOR.instances.editor1.setData('<p>This is the editor data.</p>'); 

Lo que significa que el código se verá algo como esto:

var Code = new Array("", "Selected 1", "Selected 2", "Selected 3"); 
function change() 
{ 
var ID = formconteudo.selectpage.options[formconteudo.selectpage.selectedIndex].value; 
CKEDITOR.instances.editor1.setData('<p>' + Code[ID] + '</p>'); 
} 

Notainstances.editor1 no puede referirse a su caja, así que asegúrese de usar el nombre correcto

+0

Bingo, eso es todo. Gracias. –

+0

Gracias. Lo mismo para ti también. –

2

tengo Pasé días en este tema, cada uno siguió dándome soluciones extrañas. Comprueba su API, e incluso da un ejemplo.

http://docs.cksource.com/ckeditor_api/symbols/CKEDITOR.editor.html#setData

CKEDITOR.instances.YOUREDITORID.updateElement(); 
    alert(document.getElementById('YOUREDITORID').value); // The current editor data. 

Dónde 'YOUREDITORID' es el ID de la área de texto para CKeditor a utilizar.

Espero que esto ayude!

Cuestiones relacionadas