Manchmal möchte man ein Formular mithilfe eines Ajax Requests absenden. Ein Ajax Request ist eine Server Anfrage mit Javascript. Dies hat den Vorteil, dass die aufgerufene Seite nicht verlassen werden muss. Das kann zum Beispiel gewünscht sein, wenn das Formular in einer Modalbox angezeigt werden soll.
Angenommen das Formular würde in einer Modalbox angezeigt werden so würde diese Box verlassen werden sobald der Benutzer das Formular absendet. Der Aufwand wäre um einiges größer wenn ich nach dem Absenden das ggf. fehlerhaft validierte Formular wieder in einer Modalbox öffnen wollen würde. Ich müsste das Formular irgendwo erst einmal in das HTML schreiben und einen Parameter auf die Seite schreiben welchen ich anschließend mit Javascript auswerten um eine neue Modalbox anzuzeigen und das HTML des Formulars dort einzubetten.
Mit Typo3 Formhandler kann man sehr einfach Formulare mittels Javascript absenden und das HTML das als Ergebnis zurück geliefert wird anzeigen. Dabei ist es egal, ob das Formular erfolgreich abgeschickt wird und ein das Ergebnis des Finisher_SubmittedOK angezeigt wird oder ob Validierungsfehler auftreten und diese anschließend angezeigt werden. Der AjaxHandler von TYPO3 Formhandler tauscht das komplette HTML des Formulares durch das aus welches vom Server zurück geliefert wird.
Durch die folgende Konfiguration wird ein Formular zu einem Ajax Formular umgestellt.
ajax {
class = AjaxHandler_JQuery
config {
ajaxSubmit = 1
jsPosition = inline
}
}
Durch die configuration ajaxSubmit = 1 wird eingestellt, dass das Formular komplett abgeschickt wird. Mit de rEinstellung jsPosition muss man ein bisschen experimentieren, da dieses abhängig davon ist wie man das Projekt aufgebaut hat. Es kann ggf. zu Seiteneffekten mit dem Javascript des Projektes kommen. Für mich hat die jsPosition = inline Einstellung funktioniert.
Mit der obigen Konfiguration wird ein Formular so eingestellt, dass dieses mit Javascript verschickt wird. Eine alternative Möglichkeit wäre, dass man Formulare einfach während des ausfüllen regelmäßig validiert und diese Validierung mit Grafiken anzeigt. TYPO3 Formhandler bietet auch hierfür bereits Konfigurationsmöglichkeiten, diese habe ich allerdings noch nicht ausprobiert. Das werde ich in einem späteren Artikel gesondert betrachten.
Hat dir der Beitrag geholfen? Hast du weitere Fragen oder Probleme? Hinterlass mir einfach einen Kommentar oder nutze mein Kontaktformular und ich werde versuchen dir zu helfen.
Kommentare
Eine Antwort zu „TYPO3 Formhandler Ajax Formular“
Hi Kollege,
ich versteh‘ zwar nur die Hälfte, aber das ist schon gut so. Bei mir ist es anders: Jeder kann lesen, das macht meine Arbeit als Texter manchmal schwierig 😉 Ich find’s super, dass Du ein „lebendiges“ Blog hast!
Bist Du schon aus dem Urlaub zurück?