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

de Adobe adviseert gebruikend de moderne en verlengbare gegevens vangen Componenten van de Kernvoor het creëren van nieuwe Aangepaste Formsof het toevoegen van Aangepaste Forms aan de pagina's van AEM Sites. Deze componenten betekenen een aanzienlijke vooruitgang in de aanmaak van Adaptive Forms en zorgen voor indrukwekkende gebruikerservaring. In dit artikel wordt een oudere aanpak beschreven voor de auteur Adaptive Forms die gebruikmaakt van stichtingscomponenten.

Versie
Artikelkoppeling
AEM as a Cloud Service
klik hier
AEM 6,5
Dit artikel

Webformulieren zijn meestal geconfigureerd voor synchroon verzenden. Bij synchrone verzending worden gebruikers die een formulier verzenden, omgeleid naar een bevestigingspagina, een pagina voor dankbetuigingen of een pagina met foutmeldingen als gevolg van een mislukte verzending. 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.

Wanneer een gebruiker een formulier verzendt bij asynchrone verzending, voegt de ontwikkelaar een aparte ervaring in, zoals het omleiden naar een ander formulier of een aparte sectie van de website. De auteur kan ook afzonderlijke services insluiten, zoals het verzenden van gegevens naar een andere gegevensopslagruimte of het toevoegen van een aangepaste analytische engine. Als er asynchrone verzending is, gedraagt een adaptief formulier zich als een toepassing op éé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. Op de adaptieve wijze van de vorm authoring, selecteer het voorwerp van de Container van de Vorm en selecteer cmp1 om zijn eigenschappen 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: leidt bij het verzenden van het formulier naar de opgegeven URL of pagina. U kunt een URL opgeven of bladeren naar het pad naar een pagina in het veld Redirect URL/Path .
    • Show Message: geeft een bericht weer 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. Selecteer controle-button1 om de eigenschappen te bewaren.

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. Voor meer informatie, zie standaardmanagers met voeten treden gebruikend 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 als het formulier met succes is verzonden, is onder meer:

  • 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 als er een fout optreedt 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 de adaptieve vorm op auteurswijze, selecteer om het even welk vormvoorwerp, en selecteer geef-rules1 uit om de regelredacteur te openen.
  2. Selecteer Form in de structuur Formulierobjecten en selecteer Create .
  3. Selecteer Code Editor in het keuzemenu Modus selecteren.
  4. Selecteer Edit Code in de code-editor. Selecteer 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 selecteer Done om de regel op te slaan.
recommendation-more-help
19ffd973-7af2-44d0-84b5-d547b0dffee2