Asynchrone Übermittlung von adaptiven Formularen

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.

Asynchrone Übermittlung konfigurieren

So konfigurieren Sie die asynchrone Übermittlung für eine adaptives Formular:

  1. Wählen Sie im Authoring-Modus für adaptive Formulare das Objekt "Form Container"aus und tippen Sie auf cmppr1, um die Eigenschaften zu öffnen.

  2. Aktivieren Sie im Abschnitt Submission properties Asynchronous submission.

  3. Wählen Sie im Abschnitt Beim Absenden eine der folgenden Optionen aus, die bei der erfolgreichen Übermittlung des Formulars ausgeführt werden soll.

    • Zu URL umleiten: Leitet bei Übermittlung des Formulars an die angegebene URL bzw. auf die angegebene Seite um. Sie können eine URL angeben oder im Feld Umleitungs-URL/Pfad den Pfad zu einer Seite auswählen.
    • Nachricht anzeigen: Zeigt eine Meldung beim Senden des Formulars an. Sie können eine Nachricht in das Textfeld unter der Option Nachricht anzeigen schreiben. Das Textfeld unterstützt Rich Text-Formatierung.
  4. Tippen Sie auf check-button1, um die Eigenschaften zu speichern.

Funktionsweise der asynchronen Übermittlung

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.

Serverantwort für Erfolgsereignis bei Übermittlung

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:

  • Formattyp der Formulardaten: XML oder JSON
  • Formulardaten im XML- oder JSON-Format
  • Ausgewählte Option zum Umleiten auf eine Seite oder zum Anzeigen einer Meldung wie im Formular konfiguriert
  • Seiten-URL oder Meldungsinhalt wie in dem Formular konfiguriert

Der Erfolgs-Handler liest die Serverantwort und leitet dementsprechend zur konfigurierten Seiten-URL weiter oder zeigt eine Meldung an.

Serverantwort für Fehlerereignis bei Übermittlung

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:

  • Grund für den Fehler, falsche Antwort in CAPTCHA oder fehlgeschlagene serverseitige Validierung
  • Liste der Fehlerobjekte einschließlich SOM-Ausdruck des Felds mit der fehlgeschlagenen Validierung und zugehörige Fehlermeldung

Der Fehler-Handler liest die Serverantwort und zeigt die entsprechende Fehlermeldung im Formular an.

Standard-Handler mithilfe von Regeln außer Kraft setzen

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.

  1. Öffnen Sie das adaptive Formular im Bearbeitungsmodus, wählen Sie ein beliebiges Formularobjekt aus und tippen Sie auf edit-rules1, um den Regeleditor zu öffnen.
  2. Wählen Sie Formular in der Struktur „Formularobjekte“ und tippen Sie auf Erstellen.
  3. Wählen Sie Codeeditor aus der Dropdownliste zur Auswahl des Modus.
  4. Tippen Sie im Codeeditor auf Code bearbeiten. Tippen Sie im Bestätigungsdialogfeld auf Bearbeiten.
  5. Wählen Sie Übermittlung erfolgreich oder Fehler beim Einreichen aus der Dropdownliste Ereignis.
  6. Schreiben Sie eine Regel für das ausgewählte Ereignis und tippen Sie auf Fertig, um die Regel zu speichern.

Auf dieser Seite