Asynchrone indiening van adaptieve formulieren

Webformulieren zijn meestal geconfigureerd voor synchroon verzenden. Wanneer gebruikers een formulier verzenden, worden ze omgeleid naar een bevestigingspagina of, in het geval van een mislukte verzending, naar een foutpagina. De moderne webervaringen, zoals toepassingen met één pagina, worden echter steeds populairder, omdat de webpagina statisch blijft terwijl interactie tussen client en server op de achtergrond plaatsvindt. U kunt deze ervaring nu voorzien van adaptieve formulieren door asynchrone verzending te configureren. In dit geval gedraagt een adaptief formulier zich als een toepassing van één pagina, aangezien het formulier niet opnieuw wordt geladen of de URL niet verandert wanneer de verzonden formuliergegevens op de server worden gevalideerd.

Lees verder voor meer informatie over asynchrone verzending in adaptieve formulieren.

asynchrone verzending configureren

Om asynchrone voorlegging voor een adaptief formulier te configureren:

  1. Selecteer in de modus Aangepast formulier het object Form Container en tik op cmp1 om de eigenschappen ervan te openen.

  2. Schakel in de sectie Submission eigenschappen Use asynchronous submission in.

  3. Selecteer in de sectie On Submit een van de volgende opties voor het verzenden van formulieren.

    • Redirect to URL: Hiermee wordt de opgegeven URL of pagina bij het verzenden van het formulier gebruikt. U kunt een URL opgeven of bladeren om het pad naar een pagina te kiezen in het veld Redirect URL/Path.
    • Show Message: Hiermee wordt een bericht weergegeven bij het verzenden van het formulier. U kunt een bericht schrijven in het tekstveld onder de optie Bericht tonen. Het tekstveld ondersteunt RTF-opmaak.
  4. Tik check-button1 om de eigenschappen op te slaan.

Hoe de asynchrone voorlegging werkt

AEM Forms biedt offline succeshandlers en foutafhandelaars voor het verzenden van formulieren. Handlers zijn client-side functies die worden uitgevoerd op basis van de serverreactie. Wanneer een formulier wordt verzonden, worden de gegevens voor validatie naar de server verzonden, die een reactie op de client retourneert met informatie over de gebeurtenis 'success' of 'error' voor de verzending. De informatie wordt als parameters doorgegeven aan de relevante handler om de functie uit te voeren.

Bovendien kunnen auteurs en ontwikkelaars van formulieren regels op formulierniveau schrijven om standaardhandlers te overschrijven. Zie Standaardhandlers negeren met behulp van rules voor meer informatie.

Laat ons eerst de serverreactie voor succes en foutengebeurtenissen herzien.

Serverreactie voor gebeurtenis met succes voor verzending

De structuur voor de serverreactie voor het indienen van succesgebeurtenissen is als volgt:

{
  contentType : "<xmlschema or jsonschema>",
  data : "<dataXML or dataJson>" ,
  thankYouOption : <page/message>,
  thankYouContent : "<thank you page url/thank you message>"
}

De reactie van de server in het geval van een geslaagde verzending van het formulier omvat:

  • Formuliergegevensindelingstype: XML of JSON
  • Formuliergegevens in XML- of JSON-indeling
  • Geselecteerde optie om naar een pagina om te leiden of een bericht te tonen zoals die in vorm wordt gevormd
  • Pagina-URL of inhoud van bericht zoals geconfigureerd in het formulier

De succesmanager leest de serverreactie en richt dienovereenkomstig aan de gevormde pagina URL of toont een bericht opnieuw.

Serverreactie voor gebeurtenis van verzendfout

De structuur voor de serverreactie voor de gebeurtenis van de voorleggingsfout is als volgt:

{
   errorCausedBy : "<CAPTCHA_VALIDATION or SERVER_SIDE_VALIDATION>",

   errors : [
               { "somExpression" : "<SOM Expression>",
                 "errorMessage"  : "<Error Message>"
               },
               ...
             ]
 }

De reactie van de server in het geval van een fout bij het verzenden van het formulier omvat:

  • Reden voor de fout, mislukte CAPTCHA- of servervalidatie
  • Lijst met foutobjecten, die de SOM-expressie bevat van het veld waarvan de validatie is mislukt en het bijbehorende foutbericht

De fouthandler leest de serverreactie en geeft dienovereenkomstig het foutbericht op het formulier weer.

Standaardhandlers negeren met behulp van regels

Formulierontwikkelaars en auteurs kunnen regels schrijven op formulierniveau in de code-editor om standaardhandlers te overschrijven. De serverreactie voor geluids- en foutgebeurtenissen wordt weergegeven op formulierniveau, waartoe ontwikkelaars toegang hebben met $event.data in regels.

Voer de volgende stappen uit om regels in coderedacteur te schrijven om succes en foutengebeurtenissen te behandelen.

  1. Open het aangepaste formulier in de ontwerpmodus, selecteer een formulierobject en tik edit-rules1 om de regeleditor te openen.
  2. Selecteer Form in de structuur Formulierobjecten en tik Create.
  3. Selecteer Code Editor van de drop-down wijze selectie.
  4. Tik in de code-editor op Edit Code. Tik op Edit in het bevestigingsdialoogvenster.
  5. Kies Successful Submission of Error in Submission in de vervolgkeuzelijst Event.
  6. Schrijf een regel voor de geselecteerde gebeurtenis en tik Done om de regel op te slaan.

Op deze pagina