Je suis à l'aide de jquery boîtes de dialogue pour présenter des formulaires (récupéré via AJAX). Sur quelques formes que j'utilise CKEditor pour les textareas. L'éditeur affiche bien sur la première charge.
Lorsque l'utilisateur annule la boîte de dialogue, je suis de retirer le contenu, de sorte qu'ils sont chargés frais sur une demande ultérieure. La question est, une fois que le dialogue est rechargé, l'CKEditor revendications de l'éditeur existe déjà.
uncaught exception: [CKEDITOR.editor] The instance "textarea_name" already exists.
L'API comprend une méthode pour détruire les éditeurs, et j'ai vu des gens affirment que ce est une solution:
if (CKEDITOR.instances['textarea_name']) {
CKEDITOR.instances['textarea_name'].destroy();
}
CKEDITOR.replace('textarea_name');
Ce n'est pas de travail pour moi, lorsque je reçois un nouveau message d'erreur à la place:
TypeError: Result of expression 'i.contentWindow' [null] is not an object.
Cette erreur semble se produire sur la "destroy()" plutôt que le "replace()". Quelqu'un at-il vécu cela et trouvé une autre solution?
Il est possible de "re-rendu de" l'éditeur existant, plutôt que de détruire et de le remplacer?
Mise à JOUR Voici une autre question à traiter le même problème, mais il a fourni une téléchargeables cas de test.