2010-08-31 23 views
11

Ich habe den CKEditor auf meiner Website enthalten. Alles funktioniert, obwohl ich diesen JS-Fehler bekomme:Uncaught Ausnahme: [CKEDITOR.editor] Die Instanz existiert bereits

Uncaught Ausnahme: [CKEDITOR.editor] Die Instanz "Simple_editor" existiert bereits.

Der folgende Code ist in einer PHP-Datei enthalten, die ich wo immer ich möchte den Editor enthalten. Ich habe nur eine Instanz des Editors pro Seite.

<textarea class='ckeditor' id='simple_editor' name='simple_editor'>".$page_content."</textarea>"; 

<script type="text/javascript"> 
CKEDITOR.replace('simple_editor', 
{ 
    height: '110px', 
    toolbar : 
    [ 
    ['Link','Unlink'], 
    ['Styles','Format','Font','FontSize'], 
    ['Bold','Italic','Underline','Strike'], 
    ['TextColor','BGColor'], 
    ['NumberedList','BulletedList','Outdent','Indent'] 
    ] 
}); 
</script> 

Nach einigem googeln habe ich Leute gesehen, die eine Lösung schreiben, die dosnt Arbeit.

if (CKEDITOR.instances['simple_editor']) { delete CKEDITOR.instances['simple_editor'] }; 
if (CKEDITOR.instances['simple_editor']) { CKEDITOR.instances['simple_editor'].destroy(); } 

Wer weiß, was zu tun ist? : S

Antwort

17

Entfernen Sie class = 'ckeditor', da es das automatische Ersatzsystem auslöst.

+0

Sorry für die späte Antwort. Das hat es behoben. Vielen Dank! :) – horgen

+0

Endlich eine funktionierende und verständliche Antwort. – zessx

+0

hast du mir viel Zeit gespart .... – VKGS

3
<textarea id="textarea1" name="textarea1" runat="server" ></textarea> 
<script> 

$(document).ready(function() { 

      loadEditor('<%= textarea1.ClientID %>'); 
     }); 

     function loadEditor(id) { 
      var instance = CKEDITOR.instances[id]; 
      if (instance) { 
       CKEDITOR.remove(instance); 
      } 
      CKEDITOR.replace(id, { toolbar: 'Basic' }); 
     } 

</script> 
+0

Bitte nicht schreiben Klasse = "ckeditor" in Textarea – Manish

Verwandte Themen