Créer un formulaire conditionnel

Les formulaire conditionnels permettent de rendre un formulaire dynamique, d'afficher ou non certaines pages en fonction des réponses de l'utilisateur à certaines questions. L'affichage des pages peut en effet être soumis à des « conditions ». Ces conditions sont remplies, ou non, en fonctions des réponses de l'utilisateur.

Nom de variable

Les noms de variables sont des identifiants que l'on peut donner à chaque champ. Donner un nom de variable est utile lorsque le champ est une question qui va être utilisée pour conditionner l'affichage d'une page. On utilisera en effet ce nom de variable pour écrire la condition décidant de l'affichage de la page en question.

Les noms de variables sont soumis à des règles, ils doivent contenir des chiffres ou des lettres, sans caractères spéciaux (on remplace généralement les espaces par le caractère underscore).

Pages conditionnelles

Les champs de type « Nouvelle page » sont les seuls à posséder une option particulière - accessible lorsqu'on les édite - « Condition » . C'est dans ce champ que l'on va écrire la règle décidant si cette page doit être affichée ou non.

Nous avons vu que l'on pouvait donner un nom de variable à un champ, cette variable peut être utilisée pour écrire la condition d'affichage de la page.

La condition s'écrira alors selon la forme suivante :

Il est nécessaire d'ajouter, avant le nom de la variable, le préfixe var_. Puis, d'utiliser l'opérateur == qui signifie « égal à ». Enfin il faut faire figurer, entre guillemets, la valeur exacte (respect de la casse et de l'accentuation) de la réponse attendue pour que la condition soit respectée. Si la réponse de l'utilisateur correspond à la conditino, la page est affichée, dans le cas inverse elle ne l'est pas.

Respectez la casse !

La casse est importante (majuscule / minuscule). Si vous ne la respectez pas dans l'écriture de la condition, cela ne fonctionnera pas.

Champs servant de base à une condition

Une condition porte uniquement sur la réponse apportée à des champs de type « liste » ou « case à cocher ».