Bouton Envoi

Un bouton peut permettre d’envoyer des données de formulaire au service Forms, sous la forme de données XML, PDF ou codées URL (pour les envois HTML). Imaginons par exemple qu’un utilisateur remplisse un formulaire interactif, puis clique sur un bouton d’envoi. Cette opération entraîne la transmission des données de formulaire au service Forms. Une application cliente, telle qu’une servlet Java créé à l’aide de l’API Forms Service, peut récupérer ces données.

Un formulaire PDF permet d’envoyer quatre types de données (données XDP, XML, PDF et codées URL). Un formulaire HTML n’envoie que des paires nom-valeur codées URL. Lorsque les données sont envoyées au format PDF par défaut, le service Forms capture les données PDF, puis les renvoie sans effectuer de calculs. Vous définissez le type d’envoi dans Designer.

Le type de contenu des données PDF envoyées est application/pdf. Par contraste, le type de contenu des données XML envoyées est text/xml. Pour les envois XDP, il s’agit de application/vnd.adobe.xdp+xml.

Le tableau ci-après récapitule les interactions entre un périphérique client (tel qu’un navigateur Web), une application cliente et le service Forms lorsqu’un utilisateur clique sur un bouton déclenchant une opération d’envoi.

Actions de l’utilisateur

Actions de l’application cliente

Actions du service Forms

Un utilisateur entre des données dans les champs d’un formulaire, puis clique sur un bouton d’envoi. Cette action amorce une opération d’envoi.

Les validations du client marquées comme étant à exécuter sur le client sont lancées.

Aucune action

Aucune action

Le navigateur effectue une commande HTTP sur l’URL cible (cette valeur est définie dans Designer ou par le paramètre targetURL utilisé lors de l’appel de rendu au service Forms).

Aucune action

Aucune action

Aucune action

Crée un objet FormServiceClient, appelle la méthode processFormSubmission et transmet la demande HTTP et les en-têtes.

Aucune action

Aucune action

Aucune action

Le service Forms fusionne les données publiées dans le formulaire (le cas échéant).

Aucune action

Aucune action

Exécute l’événement de clic sur le champ.

Aucune action

Aucune action

Exécute les événements de calcul de champ dans l’ensemble du formulaire.

Aucune action

Aucune action

Exécute les événements de calcul de page dans l’ensemble du formulaire.

Aucune action

Aucune action

Exécute les événements de validation de champ dans l’ensemble du formulaire.

Aucune action

Aucune action

Exécute les événements de validation de page (incluant validate, formatTest et nullTest).

Aucune action

Aucune action

Exécute l’événement Close du formulaire.

Aucune action

Aucune action

Si ce processus de validation échoue, il existe au moins une erreur. La valeur d’état du traitement renvoyée est Validate.

Aucune action

Vérifie que le service Forms a renvoyé la valeur d’état du traitement Validate. Dans ce cas, le résultat est renvoyé au navigateur client pour que l’utilisateur corrige l’erreur.

Aucune action

Dans le cas d’un formulaire affiché au format HTML, l’utilisateur final voit le formulaire contenant les mêmes données, des calculs, ainsi qu’une liste d’erreurs à corriger avant le renvoi du formulaire.

Dans le cas des guides (obsolète), l’utilisateur final voit le formulaire contenant les mêmes données, calculs et liste des erreurs à corriger avant le renvoi du formulaire.

Dans le cas d’un formulaire affiché au format PDF, aucune interface utilisateur n’est définie. Il est possible de récupérer les erreurs de validation à l’aide de la méthode getValidationErrorsList de l’objet FormsResult.

Aucune action

Aucune action

Aucune action

Aucune action

Si le processus de validation réussit, l’état du traitement prend la valeur Submit.

Aucune action

Vérifie que le service Forms renvoie la valeur d’état du traitement Submit.

Confirme que le traitement du formulaire est intégralement achevé.

Les traitements supplémentaires relèvent des applications. Par exemple, une application de type Assistant peut demander le panneau de formulaire suivant, effectuer des recherches de données complémentaires, mettre à jour la base de données ou amorcer un nouveau processus de flux de production.

Aucune action

La vue obtenue est propre à l’application. Par exemple, un nouveau formulaire peut s’afficher.

Aucune action

Aucune action