Ich habe einen benutzerdefinierten CMS, der CKEditor * (FCKEditor v3) zum Bearbeiten von Inhalten verwendet. Ich verwende auch das jQuery Validation Plugin, um alle Felder auf Fehler vor der AJAX-basierten Einreichung zu überprüfen. Ich verwende die serialize() Funktion, um die Daten an das PHP-Backend zu übergeben.Verwenden von jQuery zum Abrufen des Inhalts aus CKEditors iframe
Problem ist, Serialize verwaltet alle Felder korrekt zu erfassen, mit Ausnahme der tatsächlichen Inhalt in CKEditor eingegeben. Wie jeder andere WYSIWYG-Editor überlagert auch dieser einen Iframe über einer bestehenden Textbox. Und serialize ignoriert den iframe und schaut nur in den Textkasten nach Inhalten, die er natürlich nicht findet und somit einen leeren Inhaltskörper zurückgibt.
zu dieser Mein Ansatz ist es, einen Haken auf das Onchange Ereignis von CKEditor zu erstellen und gleichzeitig aktualisieren, um die Textbox (CKEDITOR.instances.[textboxname].getData()
gibt den Inhalt) oder ein anderes verstecktes Feld mit allen im Editor vorgenommenen Änderungen.
Da CKEditor jedoch immer noch im Beta-Stadium ist und die Dokumentation stark fehlt, kann ich keinen passenden API-Aufruf finden, der es mir ermöglicht.
Hat jemand eine Idee, wie man das macht?
Ich habe herausgefunden, soweit den Inhalt aus dem iframe: 012 greifen$ ('#cke_contents_body iframe') .contents(). Find ('body') .html() ... das nächste direkt adressierbare Element ist ein td mit der ID 'cke_contents_body'. CKEditor umschließt den iframe mit dieser td. –
Noch zu gehen .. eine Möglichkeit, die Textbox mit den Daten automatisch zu aktualisieren, indem Sie auf ein Änderungsereignis von CKEditor zugreifen. Irgendwelche Ideen? Jemand? –
Neue CKEditor Version hat dieses Problem gelöst – Ivan