2016-04-24 5 views
0

Ich versuche, das gleiche ckeditor mehrmals in einem Ajax-Formular ersetzen zu verwenden:CKEditor in einem Ajax-Formular

... <textarea id="textareaId"></textarea> ... 

Und einen Javascript-Code

CKEDITOR.replace('textareaId'); 
$('#textareaId').val("first"); 
CKEDITOR.replace('textareaId'); 
$('#textareaId').val("second"); 

Kann wissen somepody warum ID nicht "zeigen zweites "statt" zuerst "im textarea mit ckeditor? Und wie bekommt man den richtigen Wert $ ('# textareaId'). Val()? Danke

+0

'ID's sind einzigartig zu sein, verwenden Sie nicht die gleiche' Id' auf allen 'textarea's –

Antwort

1

Ich denke, Sie sollten erzwingen, die Instanz vor dem Ersetzen zu erzwingen.

var editor = CKEDITOR.instances['textareaId']; 
if (editor) { 
    editor.destroy(true); 
} 
CKEDITOR.replace('textareaId'); 
1

Id s sollte eindeutig sein, so (I CKEditor nicht btw verwenden, so dass keine Ahnung, was dies zu erreichen versucht, aber mir zu erklären, wie ids verwendet werden soll):

<textarea id="textareaId"></textarea> 
<textarea id="textareaId2"></textarea> <!-- changed id --> 

CKEDITOR.replace('textareaId'); 
$('#textareaId').val("first"); 
CKEDITOR.replace('textareaId2'); /* new id for text area */ 
$('#textareaId2').val("second"); 
+0

Es ist keine Lösung. Ich verwende ein Ajax-Formular zum Erstellen und Aktualisieren verschiedener Elemente mit einer Beschreibung. – user2301515