Aus einem Grund, der mir unbekannt ist, übergibt mein Formular den eingegebenen Text nicht in mein <textarea>
.
Ajax-Code:
%Vor%Die Eingaben funktionieren einwandfrei und werden korrekt in meine Datenbank übertragen.
Das Formular lautet:
%Vor% Und was ich bekomme, wenn ich in Firebug inspiziere, ist der POST:
date=09%2F25%2F1986&title=Title&blogContent=
Wie Sie sehen können, ist der BlogContent leer. Warum ist das?
Ich habe es versäumt zu erwähnen, dass ich einen WYSIWYG-Editor an den Textbereich angeschlossen hatte, den nicEditor. Anscheinend gibt es einen Fehler, der jQuery gezwungen hat, den Textbereich nicht zu serialisieren. Sobald der NicEditor entfernt wurde, hat es funktioniert. Danke für die Hilfe.
Ihr Textfeldname ist blogContent, aber die ID ist blogBody. Der # Selektor verwendet die ID, nicht den Namen.
Sie sollten Ihren Editor nicht entfernen müssen - sie arbeiten normalerweise mit JS, um die ausgeblendete Textfläche nach jedem Tastendruck zu aktualisieren, oder wenn das Formular übermittelt wird, sollte das keinen Unterschied machen, vorausgesetzt, der Editor erhält das richtige Bit .
Ich kann mir vorstellen, dass das Problem so ist, wie es Phillip vorgeschlagen hat - dass sich Ihre ID- und Namensattribute unterscheiden. Alle anderen passen gut zusammen. Wenn es serialisiert, muss es die IDs verwenden, und vermutlich erwarten Sie in Ihrem Skript auf der anderen Seite, dass die Namen trotzdem kommen (was eine normale Formularübergabe tun würde).
Da Sie über $ POST senden, tun Sie einfach eine var_dump ($ _ POST); in Ihrem Skript und loggen Sie das dann auf der Konsole oder alarmieren Sie es in Ihrem JavaScript - sehen Sie, was genau über AJAX zu Ihrem Skript gesendet wird.
Wenn der Textbereich unter keinem Namen vorhanden ist, dann wissen Sie, dass das Problem definitiv der Editor ist. Wenn dies der Fall ist, versuchen Sie manuell, die Methoden für nicEditor aufzurufen, die den versteckten Textbereich aktualisieren.