L’ajout de boutons à un formulaire interactif permet aux utilisateurs finaux de lancer des actions, telles que l’ajout et la suppression d’instances de sous-formulaires définissant des sections (par exemple, des rangées d’éléments dans un formulaire de commande).
Vous pouvez aussi ajouter une info-bulle au bouton de suppression pour afficher l’information Supprimer l’article lorsque l’utilisateur place le curseur sur le bouton. L’utilisation de boutons de suppression distincts permet aux utilisateurs de supprimer des rangées précises du formulaire.
Ainsi, l’exemple de bon de commande interactif comporte un bouton d’ajout d’élément et un bouton de suppression représenté par un X pour chaque sous-formulaire detail. Lorsque l’utilisateur clique sur le bouton d’ajout d’éléments, un script ajoute une rangée d’articles. Lorsque l’utilisateur clique sur l’un des boutons de suppression, un script supprime la rangée d’articles associée.
Le script JavaScript suivant associé à l’événement click du bouton d’ajout d’élément permet aux utilisateurs d’ajouter une rangée d’articles à l’exemple de formulaire interactif Bon de commande. Le script effectue de nouveau les calculs dans le formulaire pour que le champ Total prenne en compte la nouvelle rangée.
Etant donné que les utilisateurs ajoutent uniquement des rangées d’articles avec le bouton d’ajout d’élément, le script n’a pas besoin de vérifier le nombre minimal d’occurrences.
Le script JavaScript suivant associé à l’événement click du bouton de suppression permet aux utilisateurs de supprimer une instance du sous-formulaire detail dans l’exemple de formulaire interactif Bon de commande. Le script effectue de nouveau les calculs dans le formulaire pour que le champ Total prenne en compte la suppression de la rangée.
La valeur d’occurrence minimale de départ du sous-formulaire detail étant égale à 2, le script doit réduire cette valeur pour permettre à la personne remplissant le formulaire de supprimer les deux rangées d’articles qui apparaissent automatiquement lorsque le formulaire est généré. Ce script a été ajouté à l’événement initialize du sous-formulaire detail.
Comme le formulaire permet aux utilisateurs de supprimer toutes les instances du sous-formulaire detail, le script de l’événement calculate du champ Total (numTotal) doit s’assurer qu’il existe au moins une instance du champ numAmount dans le sous-formulaire detail. En effet, si le calcul ne trouve aucune occurrence du champ numAmount, une erreur se produit. Ce script a été ajouté à l’événement calculate du champ numTotal.
Sum(detail[*].numAmount)

Création de boutons d’ajout et de suppression