CKeditor 3 speichert Eingaben nicht, wenn das Formular per jQuery.serialize() über Ajax submitted wird

Wie die Überschrift schon verrät, hatte ich ein Formular gebaut mit einer Textarea, die durch den Wysiwyg-Editor CKEditor 3.1 ersetzt werden sollte.  Darunter gab es einen Button “Speichern”, der beim Klick eine Javascript-Funktion aufruft, die das Formular serialisiert ( $(form).serialize(); ) und diese serialisierten Daten dann per jQuery-Ajax an den Webserver sendet. Allerdings wurden alle Eingaben im Wysiwyg-Editor dabei ignoriert.

Ich habe dann durch Zufall rausgefunden, dass die Eingaben im Editor nicht nach jedem Ändern wieder in die urspüngliche Textarea geschrieben werden, sondern immer nur, wenn das Formular submitted wird.

Ich habe also meine Funktion zum Speichern der Daten umgeschrieben und die Submit-Methode des Formulars beim Klick auf den Speichern-Button ausgelöst: $(form).trigger(‘submit’). Dabei schreibt der CKEditor die Eingaben wieder in die Textarea zurück und die Daten können(bevorzugt bei Post) übertragen werden.

Wer aber doch lieber die Ajax-Methode nehmen möchte, kann die Daten aus dem CKEditor auch vor dem Ajax-Aufruf manuell in die Textarea schreiben. Das geht so:

var editor_data = CKEDITOR.instances.editor1.getData();
$(textarea).html(editor_data);
  • http://www.w-d-s-b.de Willi da SIlva Borges

    Danke für den Tip :-) .
    Hatte das selbe Problem.
    Nun hab ich aber ein anderes :-(
    Wenn ich Umlaute in meinem Text habe werden die Texte nach den Umlauten abgeschnitten.
    Hab die Ursache auch gefunden der CKeditor macht aus irgendwelchen Gründen aus einem ä kein ä sondern [auml; usw.
    Hast Du zufälligerweise auch dafür eine Lösung
    Danke schon mal im Voraus

  • http://joomla-jquery-internet.de Robbz

    Wenn der Text beim Speichern oder Laden aus der DB abgeschnitten wird kann das ein UTF-8 Problem sein. Das hatte ich neulich auch, allerdings nicht mit dem CK-Editor sondern beim Import einer CSV-Datei. Eventuell reichts ja schon, wenn du auf Server-Seite utf8_encode($input) oder utf8_decode auf den Text anwendest…

 

   

  • Robbz Says:

    Ich würde das einfach im Template in der index.php ganz nach oben setzen....

  • admin Says:

    Das stimmt natürlich, man muss schon wissen was man tut. Aber manchmal geht es halt leider nicht and...

  • admin Says:

    Bestanden ;-)...

  • السوق المالي اليوم Says:

    hey super danke ich habe das problem mit typo3 auch gehabt dank deinem tip jetzt gelöst, thnx ;D ...

  • Dana Says:

    Geht das auch über samsung gt-s5230?? ...

  • Aaa Says:

    facebook Kommentar Test...

  • Andreas Says:

    Hm. Da man kein Override für einzelne Klassen in Joomla erstellen kann, rate ich von der letzten Var...

  • Stang_andre Says:

    test...

  • Robbz Says:

    Dann läuft aber das Script immer noch nicht als PHP5. Kann sein, dass 1&1 ihre Server inzwischen...

  • Nospam Says:

    das ist alles recht üppig, was du in deiner .htaccess gebastelt hast. Viel einfacher geht's mit "#Re...