Version | Artikellänk |
---|---|
AEM 6.5 | Klicka här |
AEM as a Cloud Service | Den här artikeln |
Som standard är webbformulär konfigurerade att skicka synkront. När användare skickar ett formulär omdirigeras de i synkront skick till en bekräftelsesida, en tacksida eller en felsida om det uppstår ett överföringsfel. Moderna webbupplevelser som single page-applikationer blir dock allt populärare, där webbsidan är statisk medan klient-server-interaktion sker i bakgrunden. Du kan konfigurera asynkron sändning för att ge den här upplevelsen med Adaptive Forms.
När en användare skickar in ett formulär i asynkron form plugin-program för formulärutvecklare, som omdirigering till ett annat formulär eller till ett separat avsnitt på webbplatsen. Författaren kan också plugin-program för olika tjänster, som att skicka data till ett annat datalager eller lägga till en anpassad analysmotor. Om formuläret skickas asynkront fungerar ett adaptivt formulär som ett program med en sida, eftersom det inte läses in igen eller dess URL inte ändras när skickade formulärdata valideras på servern.
Läs vidare om du vill ha mer information om asynkron överföring i Adaptive Forms.
Så här konfigurerar du asynkron överföring för ett adaptivt formulär:
I redigeringsläget Adaptivt formulär markerar du objektet Formulärbehållare och väljer för att öppna dess egenskaper.
I Submission egenskapsavsnittet, aktivera Use asynchronous submission.
I On Submit väljer du något av följande alternativ när formuläret har skickats.
Välj för att spara egenskaperna.
Experience Manager Forms innehåller färdiga funktioner och felhanterare för att skicka formulär. Hanterare är funktioner på klientsidan som körs baserat på serversvaret. När ett formulär skickas skickas data till servern för validering, som returnerar ett svar till klienten med information om om huruvida överföringen lyckades eller inte. Informationen skickas som parametrar till den relevanta hanteraren för att köra funktionen.
Dessutom kan formulärförfattare och utvecklare skriva regler på formulärnivå för att åsidosätta standardhanterare. Mer information finns i Åsidosätta standardhanterare med regler.
Låt oss först granska serversvaret för att se om det har lyckats eller inte.
Strukturen för serversvaret för händelsen att överföringen lyckades är följande:
{oneOf: [
{ properties : {
contentType : {"type" : "string", "enum" : ["xmlschema", "jsonschema"]},
data : {type : "string", description : "Form data in XML or JSON format"},
thankYouOption : {type : "string"}
}},
properties : {
contentType : {"type" : "string", "enum" : ["xmlschema", "jsonschema"]},
data : {type : "string", description : "Form data in XML or JSON format"},
thankYouContent: {type: "string"}
}
]
}
Serversvaret vid lyckad formulärsändning innehåller:
Hanteraren för lyckade åtgärder läser serversvaret och dirigerar därför om till den konfigurerade sidans URL eller visar ett meddelande.
Strukturen för serversvaret för en felhändelse vid överföring är följande:
{
errorCausedBy : "<CAPTCHA_VALIDATION or SERVER_SIDE_VALIDATION>",
errors : [
{ "somExpression" : "<SOM Expression>",
"errorMessage" : "<Error Message>"
},
...
]
}
Serversvaret vid fel när formulär skickas innehåller:
Felhanteraren läser serversvaret och visar därför felmeddelandet i formuläret.
Formulärutvecklare och författare kan skriva regler på formulärnivå för att åsidosätta standardhanterare. Serversvaret för lyckade händelser och felhändelser visas på formulärnivå, som utvecklare kan komma åt med $event.data
i regler.
Utför följande steg för att skriva regler för att hantera lyckade och felade händelser.
Öppna det adaptiva formuläret i redigeringsläge, markera ett formulärobjekt och välj för att öppna regelredigeraren.
Välj Form i trädet Formulärobjekt och välj Create.
Välj is submitted successfully eller submission fails från Select state listruta.
Definiera en Then åtgärd för det markerade läget. Välj till exempel Navigate To och skriv eller klistra in en URL. Du kan också dra valfri funktion med Functions till regeln.
Välj Done för att spara regeln.