Web-Formulare werden herkömmlicherweise für die synchrone Übermittlung konfiguriert. Wenn Benutzer ein Formular synchron übermitteln, werden sie zu einer Bestätigungsseite, zu einer Dankeseite oder bei einer fehlgeschlagener Übermittlung zu einer Fehlerseite umgeleitet. Allerdings sind moderne Web-Abläufe wie Einzelseitenanwendungen zunehmend beliebt. Dabei bleibt die Web-Seite unverändert, während die Client-Server-Interaktion im Hintergrund abläuft. Sie können diese Erfahrung jetzt in adaptiven Formularen bieten, indem Sie die asynchrone Übermittlung konfigurieren.
Bei der asynchronen Übermittlung fügt der Formularentwickler beim Absenden des Formulars durch den Benutzer ein separates Erlebnis ein, wie etwa die Weiterleitung zu einem anderen Formular oder einem separaten Bereich der Website. Der Autor kann auch separate Services einbinden, z. B. das Senden von Daten an einen anderen Datenspeicher, oder eine benutzerdefinierte Analyse-Engine hinzufügen. Bei asynchroner Übermittlung verhält sich ein adaptives Formular wie ein Programm mit einer einzelnen Seite, da das Formular nicht neu geladen wird oder sich seine URL nicht ändert, wenn die übermittelten Formulardaten auf dem Server validiert werden.
Im Folgenden finden Sie Details zu asynchronen Übermittlung in adaptiven Formularen.
So konfigurieren Sie die asynchrone Übermittlung für eine adaptives Formular:
Wählen Sie im Authoring-Modus des adaptiven Formulars den Formular-Container aus und tippen Sie auf , um dessen Eigenschaften anzuzeigen.
Aktivieren Sie im Eigenschaftenbereich Übermittlung die Option Asynchrone Übermittlung verwenden.
Wählen Sie im Abschnitt Beim Absenden eine der folgenden Optionen aus, die bei der erfolgreichen Übermittlung des Formulars ausgeführt werden soll.
Tippen Sie auf , um die Eigenschaften zu speichern.
AEM Forms bietet standardmäßig Handler zur Verarbeitung von erfolgreichen und fehlgeschlagenen Formularübermittlungen an. Handler sind clientseitige Funktionen, die anhand der Serverantwort ausgeführt werden. Wenn ein Formular übermittelt wird, werden die Daten zur Validierung an den Server gesendet, der eine Antwort mit Informationen über den Erfolg oder das Fehlschlagen der Übermittlung an den Client zurücksendet. Die Informationen werden als Parameter an den relevanten Handler übergeben, um die Funktion auszuführen.
Darüber hinaus können Formularautoren und -entwickler formularspezifische Regeln schreiben, die die Standard-Handler überschreiben. Weitere Informationen finden Sie unter Standard-Handler mithilfe von Regeln außer Kraft setzen.
Im Folgenden wird zunächst die Serverantwort für Erfolgs- und Fehlerereignisse beschrieben.
Die Server-Antwort für Erfolgsereignis bei Übermittlung weist folgende Struktur auf:
{
contentType : "<xmlschema or jsonschema>",
data : "<dataXML or dataJson>" ,
thankYouOption : <page/message>,
thankYouContent : "<thank you page url/thank you message>"
}
Die Antwort des Servers für die erfolgreiche Übermittlung eines Formulars enthält:
Der Erfolgs-Handler liest die Serverantwort und leitet dementsprechend zur konfigurierten Seiten-URL weiter oder zeigt eine Meldung an.
Die Serverantwort für Fehlerereignis bei Übermittlung weist folgende Struktur auf:
{
errorCausedBy : "<CAPTCHA_VALIDATION or SERVER_SIDE_VALIDATION>",
errors : [
{ "somExpression" : "<SOM Expression>",
"errorMessage" : "<Error Message>"
},
...
]
}
Die Antwort des Servers für eine fehlgeschlagene Übermittlung eines Formulars enthält:
Der Fehler-Handler liest die Serverantwort und zeigt die entsprechende Fehlermeldung im Formular an.
Formularautoren und -entwickler können im Codeeditor formularspezifische Regeln schreiben, die die Standard-Handler außer Kraft setzen. Die Antwort des Servers bei Erfolgs- und Fehlerereignissen wird auf Formularebene bereitgestellt, auf die Entwickler mithilfe von $event.data
in Regeln zugreifen können.
Führen Sie die folgenden Schritte aus, um im Codeeditor Regeln zu schreiben, um die Erfolgs- und Fehlerereignisse zu verarbeiten.