Webformulare werden herkömmlicherweise für die synchrone Übermittlung konfiguriert. Wenn Benutzer ein Formular synchron senden, werden sie zu einer Bestätigungsseite, zu einer Danksagungsseite oder bei fehlgeschlagener Übermittlung zu einer Fehlerseite umgeleitet. Allerdings sind moderne Webabläufe wie Einzelseitenanwendungen zunehmend beliebt. Dabei bleibt die Webseite 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 asynchroner Übermittlung fügt der Formularentwickler ein separates Erlebnis ein, z. B. beim Weiterleiten zu einem anderen Formular oder einem separaten Abschnitt der Website. Der Autor kann auch separate Dienste wie das Senden von Daten an einen anderen Datenspeicher oder eine benutzerdefinierte Analytics-Engine hinzufügen. Bei asynchroner Übermittlung verhält sich ein adaptives Formular wie eine Einzelseitenanwendung, da das Formular nicht erneut geladen wird oder sich seine URL nicht ändert, wenn die gesendeten 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 für adaptive Formulare das Objekt "Form Container"aus und tippen Sie auf , um die Eigenschaften zu öffnen.
Aktivieren Sie im Abschnitt Submission properties Asynchronous submission.
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 Formularverfasser und -entwickler Regeln auf Formularebene schreiben, um Standard-Handler zu ü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 Serverantwort 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 Serverantwort auf Erfolgs- und Fehlermeldungen wird auf Formularebene bereitgestellt, auf die Entwickler mithilfe von $event.data
in Ereignissen zugreifen können.
Führen Sie die folgenden Schritte aus, um im Codeeditor Regeln zu schreiben, um die Erfolgs- und Fehlerereignisse zu verarbeiten.