Asynchrone indiening van adaptieve formulieren asynchronous-submission-of-adaptive-forms

CAUTION
AEM 6.4 heeft het einde van de uitgebreide ondersteuning bereikt en deze documentatie wordt niet meer bijgewerkt. Raadpleeg voor meer informatie onze technische ondersteuningsperioden. Ondersteunde versies zoeken hier.

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 configure

Om asynchrone voorlegging voor een adaptief formulier te configureren:

  1. Selecteer in de modus Aangepast formulier voor het schrijven van programmacode het object Form Container en tik op cmppr1 om de eigenschappen te openen.

  2. In de Submission eigenschappensectie, inschakelen Use asynchronous submission.

  3. In de On Submit selecteert u 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 naar het pad naar een pagina in het dialoogvenster Redirect URL/Path veld.
    • 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. Tikken check-button1 om de eigenschappen op te slaan.

Hoe asynchrone verzending werkt how-asynchronous-submission-works

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 voor meer informatie Standaardhandlers negeren met behulp van regels.

Laat ons eerst de serverreactie voor succes en foutengebeurtenissen herzien.

Serverreactie voor gebeurtenis met succes voor verzending server-response-for-submission-success-event

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 verzendfoutgebeurtenis server-response-for-submission-error-event

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 custom

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 via $event.data in regels.

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

  1. Open het adaptieve formulier in de ontwerpmodus, selecteer een willekeurig formulierobject en tik op edit-rules1 om de regeleditor te openen.
  2. Selecteren Form in de structuur Formulierobjecten en tik op Create.
  3. Selecteren Code Editor in het vervolgkeuzemenu Modus selecteren.
  4. Tik in de code-editor op Edit Code. Tikken Edit in het bevestigingsdialoogvenster.
  5. Kies Successful Submission of Error in Submission van de Event vervolgkeuzelijst.
  6. Schrijf een regel voor de geselecteerde gebeurtenis en tik op Done om de regel op te slaan.
recommendation-more-help
a6ebf046-2b8b-4543-bd46-42a0d77792da