Invio asincrono di Adaptive Forms

In genere, i moduli web sono configurati per l’invio in modo sincrono. Nell’invio sincrono, quando gli utenti inviano un modulo, vengono reindirizzati a una pagina di conferma, a una pagina di ringraziamento o in caso di errore di invio, a una pagina di errore. Tuttavia, le moderne esperienze web come le applicazioni a pagina singola stanno guadagnando popolarità laddove la pagina web rimane statica mentre l'interazione client-server avviene in background. Puoi configurare l’invio asincrono per fornire questa esperienza con Adaptive Forms.

Nell’invio asincrono, quando un utente invia un modulo, lo sviluppatore del modulo inserisce un’esperienza separata, come il reindirizzamento ad un altro modulo o a una sezione separata del sito web. L’autore può anche collegare servizi separati come l’invio di dati a un archivio dati diverso o aggiungere un motore di analisi personalizzato. In caso di invio asincrono, un modulo adattivo si comporta come un’applicazione a pagina singola, in quanto il modulo non viene ricaricato o il relativo URL non cambia quando i dati del modulo inviati vengono convalidati sul server.

Continua a leggere per i dettagli sull’invio asincrono in Adaptive Forms.

Configurare l’invio asincrono

Per configurare l’invio asincrono per un modulo adattivo:

  1. In modalità di creazione del modulo adattivo, seleziona l’oggetto Contenitore modulo e tocca cmppr1 per aprire le relative proprietà.

  2. In Invio sezione proprietà, abilita Utilizzare l’invio asincrono.

  3. In Al momento dell’invio selezionare una delle opzioni seguenti da eseguire in caso di invio corretto del modulo.

    • Reindirizzare a URL: Reindirizza all’URL o alla pagina specificati all’invio del modulo. Puoi specificare un URL o sfogliare per scegliere il percorso di una pagina nel URL/percorso di reindirizzamento campo .
    • Mostra messaggio: Visualizza un messaggio all’invio del modulo. Puoi scrivere un messaggio nel campo di testo sotto il campo Mostra messaggio opzione . Il campo di testo supporta la formattazione RTF.
  4. Tocca pulsante di spunta1 per salvare le proprietà.

Funzionamento dell’invio asincrono

Experience Manager Forms fornisce gestori di errori e di successo preconfigurati per l’invio dei moduli. I gestori sono funzioni lato client che vengono eseguite in base alla risposta del server. Quando un modulo viene inviato, i dati vengono trasmessi al server per la convalida, che restituisce una risposta al client con informazioni sull’evento riuscito o di errore per l’invio. Le informazioni vengono passate come parametri al gestore pertinente per eseguire la funzione .

Inoltre, gli autori e gli sviluppatori dei moduli possono scrivere regole a livello di modulo per ignorare i gestori predefiniti. Per ulteriori informazioni, consulta Ignora gestori predefiniti utilizzando le regole.

Esaminiamo innanzitutto la risposta del server per gli eventi di successo ed errore.

Risposta del server per l'invio dell'evento di successo

La struttura della risposta del server per l’evento di successo dell’invio è la seguente:

{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"}
   }
]

}

La risposta del server in caso di invio corretto del modulo include:

  • Tipo di formato dei dati del modulo: XML o JSON
  • Dati modulo in formato XML o JSON
  • Opzione selezionata per reindirizzare a una pagina o visualizzare un messaggio come configurato nel modulo
  • URL della pagina o contenuto del messaggio configurato nel modulo

Il gestore di successo legge la risposta del server e quindi reindirizza all’URL della pagina configurato o visualizza un messaggio.

Risposta del server all’evento di errore di invio

La struttura per la risposta del server all'evento di errore di invio è la seguente:

{
   errorCausedBy : "<CAPTCHA_VALIDATION or SERVER_SIDE_VALIDATION>",

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

La risposta del server in caso di errore nell’invio del modulo include:

  • Motivo dell’errore, convalida CAPTCHA non riuscita o convalida lato server
  • Elenco degli oggetti errore, che include l'espressione SOM del campo che non ha superato la convalida e il messaggio di errore corrispondente

Il gestore errori legge la risposta del server e visualizza di conseguenza il messaggio di errore sul modulo.

Ignora gestori predefiniti utilizzando le regole

Gli sviluppatori e gli autori di moduli possono scrivere regole a livello di modulo per ignorare i gestori predefiniti. La risposta del server per gli eventi di successo ed errore è esposta a livello di modulo, a cui gli sviluppatori possono accedere utilizzando $event.data nelle regole.

Esegui i seguenti passaggi per scrivere regole per gestire eventi di successo ed errore.

  1. Apri il modulo adattivo in modalità di creazione, seleziona un oggetto modulo qualsiasi e tocca edit-rules1 per aprire l’editor di regole.

  2. Seleziona Modulo nell’albero Oggetti modulo e toccare Crea.

  3. Scegli invio completato o errore di invio dal Seleziona stato elenco a discesa.

  4. Definire un Then per lo stato selezionato. Ad esempio, seleziona Passa a quindi digita o incolla un URL. È inoltre possibile trascinare qualsiasi funzione utilizzando Funzioni alla regola.

    handler di invio riuscito

  5. Tocca Fine per salvare la regola.

In questa pagina