Génération du site web de l'ULB - format xml
sommairesommaireindexindexpage précédentepage précédentepage suivantepage suivanteimprimerimprimerenvoyerenvoyermarquermarquer

Données et paramètres récoltés par le formulaire

Les données récoltées par un formulaire sont généralement envoyées à une application qui se chargera de leur traitement. Cette application est définie par une action dans le formulaire (un élément <action>, <interaction>, <mail>, <record> ou <test>).

Après avoir rempli le formulaire, l'utilisateur cliquera sur un bouton qui désignera l'action à exécuter. Le formulaire sera validé et formaté et, si tout est en ordre, l'action sera déclenchée. C'est elle qui procèdera à l'envoi des données à l'application distante.

Lors de l'envoi, les données prendront la forme d'un série de paramètres liés chacun à une valeur, envoyée en POST ou en GET à l'application.

Ces paramètres vont dépendrent des différents éléments (champs, boutons...) utilisés dans le formulaire:


Ces données sont également disponibles dans un ensemble de paramètres lié au formulaire. Elles seront alors accessibles ailleurs dans la page, grâce à des champs paramètrables du type {form:xxxx}xxxx est le nom du paramètre désiré (voir ci-après).


Dans cet exemple, deux zones de saisie de texte (éléments <input>) sont affichées ainsi qu'un bouton pour déclencher l'envoi du formulaire. Ces trois éléments possédent un nom respectivement égal à lastname, firstname et go.

Quand le bouton sera cliqué, les données seront envoyés sous la forme d'un ensemble de trois paramètres portant ces noms-là. La valeur des deux premiers paramètres sera celle qui a été saisie par le formulaire, tandis que la valeur du bouton sera égale à son libellé Envoyer.

Les valeur des zones de saisie de texte seront accessibles ailleurs dans la page en écrivant {form1:lastname} et {form1:firstname}.

<formulaire style="voile" bords="arrondis" set="form1">
   <action href="http://www.ulb.ac.be/sitemanagerapps/samples/dumpform.php"/>
   <input>   
      <nom>lastname</nom>
      <libellé>nom</libellé>
      <valeur>Dupont</valeur>
   </input>
   <input>
      <nom>firstname</nom>
      <libellé>prénom</libellé>
      <valeur>Jean</valeur>
   </input>
   <bouton>
      <nom>go</nom>
      <libellé>Envoyer</libellé>
   </bouton>
</formulaire>

<bloc style="cadre3" bords="arrondis">
   <p>Bonjour {form1:firstname} {form1:lastname}!</p>
</bloc>

Nom:

Prénom:


Bonjour {form1:firstname} {form1:lastname}!


Paramètres liés à une zone de saisie de texte <input type="text">

Le nom du paramètre est donné par l'élément <nom> placé dans l'élément <input type="text">. Si cet élément n'existe pas, le paramètre n'existera pas.

Paramètre envoyé

Si le paramètre n'existe pas ou si vous utilisez un attribut envoyer="non" sur l'élément <input type="text">, rien ne sera envoyé à l'application distante concernant ce champ. Il en va de même si le champ se trouve dans une section conditionnelle et que la condition n'est pas vérifiée (voir ci-dessous), sauf à utiliser l'attribut envoyer="oui".

La valeur envoyée sera celle présente dans la zone de saisie de texte après que celle-ci ait été formatée (majuscules, minuscules, trim...).

Paramètres dans l'ensemble des paramètres du formulaire

Si le paramètre existe, l'ensemble de paramètres lié au formulaire contiendra les paramètres suivants, où form représente le nom du formulaire et nom le nom du paramètre (ils sont illustrés avec le formulaire donné en exemple):

{form:nom}

la valeur du champ tel que l'utilisateur l'a encodé (sans formatage)

{f1:nom}

{form:nom/format}

la valeur du champ après formatage, tel qui sera envoyé

{f1:nom/format}

{form:nom/label}

le libellé du champ

{f1:nom/label}

Votre nom:

<input>
  <nom>nom</nom>
  <libellé>votre nom</libellé>
  <valeur>Lampion</valeur>
  <majuscule/>
</input>

Paramètres liés à une zone de saisie de texte multilignes <input type="textarea">

Le nom du paramètre est donné par l'élément <nom> placé dans l'élément <input type="textarea">. Si cet élément n'existe pas, le paramètre n'existera pas.

Paramètre envoyé

Si le paramètre n'existe pas ou si vous utilisez un attribut envoyer="non" sur l'élément <input type="textarea">, rien ne sera envoyé à l'application distante concernant ce champ. Il en va de même si le champ se trouve dans une section conditionnelle et que la condition n'est pas vérifiée (le champ ne sera pas visible dans le formulaire et l'utilisateur ne pourra donc pas y répondre).

La valeur envoyée sera celle présente dans la zone de saisie de texte après que celle-ci ait été formatée (majuscules, minuscules, trim...).

Paramètres dans l'ensemble des paramètres du formulaire

Si le paramètre existe, l'ensemble de paramètres lié au formulaire contiendra les paramètres suivants, où form représente le nom du formulaire et nom le nom du paramètre (ils sont illustrés avec le formulaire donné en exemple. Dans cet exemple, le nom est à remplacer par extract):

{form:nom}

la valeur du champ tel que l'utilisateur l'a encodé (sans formatage)

{f2:extract}

{form:nom/format}

la valeur du champ après formatage, tel qui sera envoyé

{f2:extract/format}

{form:nom/label}

le libellé du champ

{f2:extract/label}

Votre extrait:

<input>
  <nom>extract</nom>
  <libellé>votre extrait</libellé>
  <valeur>
Quand il se fut assis sur sa chaise dans l'ombre
Et qu'on eut sur son front fermé le souterrain,
L'oeil était dans la tombe et regardait Caïn.
  </valeur>
  <majuscule/>
</input>

Paramètres liés à une zone de saisie de texte au format enrichi multilignes <input type="richtext">

Le nom du paramètre est donné par l'élément <nom> placé dans l'élément <input type="richtext">. Si cet élément n'existe pas, le paramètre n'existera pas.

Paramètre envoyé

Si le paramètre n'existe pas ou si vous utilisez un attribut envoyer="non" sur l'élément <input type="richtext">, rien ne sera envoyé à l'application distante concernant ce champ. Il en va de même si le champ se trouve dans une section conditionnelle et que la condition n'est pas vérifiée (le champ ne sera pas visible dans le formulaire et l'utilisateur ne pourra donc pas y répondre).

La valeur envoyée sera celle présente dans la zone de saisie de texte après que celle-ci ait été formatée (majuscules, minuscules, trim...).

Paramètres dans l'ensemble des paramètres du formulaire

Si le paramètre existe, l'ensemble de paramètres lié au formulaire contiendra les paramètres suivants, où form représente le nom du formulaire et nom le nom du paramètre (ils sont illustrés avec le formulaire donné en exemple. Dans cet exemple, le nom est à remplacer par extract):

{form:nom}

la valeur du champ tel que l'utilisateur l'a encodé (sans formatage)

{f2bis:extract}

{form:nom/format}

la valeur du champ après formatage, tel qui sera envoyé

{f2bis:extract/format}

{form:nom/label}

le libellé du champ

{f2bis:extract/label}

Votre extrait:

<input type="richtext">
  <nom>extract</nom>
  <libellé>votre extrait</libellé>
  <valeur>
&lt;i>  
Quand il se fut assis sur sa chaise dans l'ombre
Et qu'on eut sur son front fermé le souterrain,
L'oeil était dans la tombe et regardait Caïn.
&lt;/i>
</valeur>
  <majuscule/>
</input>

Paramètres liés à une liste déroulante <input type="select">

Le nom du paramètre est généralement donné par l'élément <nom> placé dans l'élément <input type="select">. Si c'est le cas, ce paramètre sera associé à chacune des options de la liste déroulante.

Il est également possible d'associer un paramètre différent à une ou plusieurs options, grâce à un attribut nom="..." placé sur les éléments <option> correspondants. Cet attribut aura la priorité sur l'élément <nom> (si les deux sont présents, c'est l'attribut qui sera utilisé pour le nom du paramètre associé a cette option).

Si pour une option, ni l'un ni l'autre existe, l'option ne possèdera pas de paramètre.

Paramètre envoyé, en cas de sélection simple

Si aucune option n'est sélectionnée, aucun paramètre ne sera envoyé à l'application distante concernant ce champ.

Si le paramètre correspondant à l'option sélectionnée n'existe pas ou si vous utilisez un attribut envoyer="non" sur l'élément <input type="select">, rien ne sera envoyé également. Il en va de même si le champ se trouve dans une section conditionnelle et que la condition n'est pas vérifiée (le champ ne sera pas visible dans le formulaire et l'utilisateur ne pourra donc pas y répondre).

La valeur envoyée sera la valeur de l'option, donnée par l'attribut valeur (ou value) de l'élément <option>.

Paramètres dans l'ensemble des paramètres du formulaire, en cas de sélection simple

Si le paramètre existe, l'ensemble de paramètres lié au formulaire contiendra les paramètres suivants, où form représente le nom du formulaire et nom le nom du paramètre (ils sont illustrés avec le formulaire donné en exemple. Dans cet exemple, le nom est à remplacer par choix):

{form:nom}

la valeur de l'option sélectionnée

{f3:choix}

{form:nom/option}

le libellé de l'option sélectionné (celui qui apparaît dans la liste déroulante)

{f3:choix/option}

{form:nom/label}

le libellé du champ

{f3:choix/label}

Votre choix:

<input type="select">
   <nom>choix</nom>
   <libellé>votre choix</libellé>
   <option valeur="ANC">des anchois</option>
   <option valeur="OLI" cochée="oui">des olives</option>
   <option valeur="CAP">des câpres</option>
   <option valeur="MOZ">de la mozarella</option>
</input>

Paramètres envoyés, en cas de sélections multiples

Si aucune option n'est sélectionnée, aucun paramètre ne sera envoyé à l'application distante concernant ce champ.

Si tous les paramètres correspondants aux options sélectionnées n'existent pas ou si vous utilisez un attribut envoyer="non" sur l'élément <input type="select">, rien ne sera envoyé également. Il en va de même si le champ se trouve dans une section conditionnelle et que la condition n'est pas vérifiée (le champ ne sera pas visible dans le formulaire et l'utilisateur ne pourra donc pas y répondre).

Mode de fonctionnement normal

Pour chaque option sélectionnée qui possède un paramètre, celui-ci sera envoyé avec la valeur de l'option, donnée par l'attribut valeur.

Si plusieurs options sélectionnées sont associées au même paramètre, ce paramètre sera envoyé plusieurs fois, avec la valeur de chacune des options. Il faudra programmer correctement l'application de manière à récupérer l'ensemble de ces valeurs. Dans le cas particulier du langage PHP, il faut utiliser un nom de paramètre qui se termine par "[]". Cela indique au serveur PHP qu'il devra construire une Array (un tableau) avec les paramètres reçus.

Envoyer un seul paramètre avec plusieurs valeurs

Vous pouvez modifier ce mode de fonctionnement normal, en mettant un attribut type="string" sur l'élément <nom> qui définit le nom du paramètre.

Dans ce cas, si plusieurs options sont sélectionnées et que ces options utilisent ce nom de paramètre, le paramètre sera envoyé une seule fois avec comme valeur la liste des valeurs des options sélectionées séparées par le caractère | (exemple OLI|CAP).

Paramètres dans l'ensemble des paramètres du formulaire, en cas de sélections multiples

Si le paramètre existe, l'ensemble de paramètres lié au formulaire contiendra les paramètres suivants, où form représente le nom du formulaire et nom le nom du paramètre (ils sont illustrés avec le formulaire donné en exemple. Dans cet exemple, le nom est à remplacer par choix[]):

{form:nom}

les valeurs des options sélectionnées, séparés par des caractères |

{f4:choix[]}

{form:nom/option}

les libellés des options sélectionnés (ceux qui apparaîssent dans la liste déroulante), séparés par des caractères |

{f4:choix[]/option}

{form:nom/label}

le libellé du champ

{f4:choix[]/label}

Votre choix:

<input type="select"  multiple="oui">
   <nom>choix[]</nom>
   <libellé>votre choix</libellé>
   <option valeur="ANC">des anchois</option>
   <option valeur="OLI" cochée="oui">des olives</option>
   <option valeur="CAP" cochée="oui">des câpres</option>
   <option valeur="MOZ">de la mozarella</option>
</input>

Paramètres liés aux boutons radio <input type="radio">

Le nom du paramètre est généralement donné par l'élément <nom> placé dans l'élément <input type="radio">. Si c'est le cas, ce paramètre sera associé à chacune des options des boutons radio.

Il est également possible d'associer un paramètre différent à une ou plusieurs options, grâce à un attribut nom="..." placé sur les éléments <option> correspondants. Cet attribut aura la priorité sur l'élément <nom> (si les deux sont présents, c'est l'attribut qui sera utilisé pour le nom du paramètre associé a cette option).

Si pour une option, ni l'un ni l'autre existe, l'option ne possèdera pas de paramètre.

Paramètre envoyé

Si aucun bouton radio n'est coché, aucun paramètre ne sera envoyé à l'application distante concernant ce champ.

Si le paramètre correspondant à l'option cochée n'existe pas ou si vous utilisez un attribut envoyer="non" sur l'élément <input type="radio">, rien ne sera envoyé également. Il en va de même si le champ se trouve dans une section conditionnelle et que la condition n'est pas vérifiée (le champ ne sera pas visible dans le formulaire et l'utilisateur ne pourra donc pas y répondre).

La valeur envoyée sera la valeur de l'option, donnée par l'attribut valeur (ou value) de l'élément <option>.

Paramètres dans l'ensemble des paramètres du formulaire

Si le paramètre existe, l'ensemble de paramètres lié au formulaire contiendra les paramètres suivants, où form représente le nom du formulaire et nom le nom du paramètre (ils sont illustrés avec le formulaire donné en exemple. Dans cet exemple, le nom est à remplacer par choix):

{form:nom}

la valeur de l'option sélectionnée

{f5:choix}

{form:nom/option}

le libellé de l'option sélectionné (celui qui apparaît en regard du bouton radio sélectionné)

{f5:choix/option}

{form:nom/label}

le libellé du champ

{f5:choix/label}

Votre pizza au choix:

Quatre fromages

Margharita

Quatre saisons

Bolognaise

<input type="radio" cols="1">
   <nom>choix</nom>
   <libellé>votre pizza au choix</libellé>
   <option valeur="FRO">Quatre fromages</option>
   <option valeur="MAR">Margharita</option>
   <option valeur="SAI">Quatre saisons</option>
   <option valeur="BOL" cochée="oui">Bolognaise</option>
</input>

Paramètres liés aux cases à cocher <input type="checkbox">

Le nom du paramètre est généralement donné par l'élément <nom> placé dans l'élément <input type="checkbox">. Si c'est le cas, ce paramètre sera associé à chacune des options représentant les cases à cocher.

Il est également possible d'associer un paramètre différent à une ou plusieurs options, grâce à un attribut nom="..." placé sur les éléments <option> correspondants. Cet attribut aura la priorité sur l'élément <nom> (si les deux sont présents, c'est l'attribut qui sera utilisé pour le nom du paramètre associé a cette option).

Si pour une option, ni l'un ni l'autre existe, l'option ne possèdera pas de paramètre.

Paramètres envoyés

Si aucune case n'est cochée, aucun paramètre ne sera envoyé à l'application distante concernant ce champ.

Si tous les paramètres correspondants aux options sélectionnées n'existent pas ou si vous utilisez un attribut envoyer="non" sur l'élément <input type="select">, rien ne sera envoyé également. Il en va de même si le champ se trouve dans une section conditionnelle et que la condition n'est pas vérifiée (le champ ne sera pas visible dans le formulaire et l'utilisateur ne pourra donc pas y répondre).

Pour chaque option cochée qui possède un paramètre, celui-ci sera envoyé avec la valeur de l'option, donnée par l'attribut valeur (ou value) de l'élément <option>.

Si plusieurs options cochées sont associées au même paramètre, ce paramètre sera envoyé plusieurs fois, avec la valeur de chacune des options. Il faudra programmer correctement l'application de manière à récupérer l'ensemble de ces valeurs. Dans le cas particulier du langage PHP, il faut utiliser un nom de paramètre qui se termine par "[]". Cela indique au serveur PHP qu'il devra construire une Array (un tableau) avec les paramètres reçus.

Paramètres dans l'ensemble des paramètres du formulaire

Si le paramètre existe, l'ensemble de paramètres lié au formulaire contiendra les paramètres suivants, où form représente le nom du formulaire et nom le nom du paramètre (ils sont illustrés avec le formulaire donné en exemple. Dans cet exemple, le nom est à remplacer par garnitures[]):

{form:nom}

les valeurs des options sélectionnées, séparés par des caractères |

{f6:garnitures[]}

{form:nom/option}

les libellés des options sélectionnés (ceux qui apparaîssent en regard des cases à cocher), séparés par des caractères |

{f6:garnitures[]/option}

{form:nom/label}

le libellé du champ

{f6:garnitures[]/label}

Votre choix de garnitures:

des anchois

des olives

des câpres

de la mozarella

<input type="checkbox" cols="2">
   <nom>garnitures[]</nom>
   <libellé>votre choix de garnitures</libellé>
   <option valeur="ANC">des anchois</option>
   <option valeur="OLI" cochée="oui">des olives</option>
   <option valeur="CAP" cochée="oui">des câpres</option>
   <option valeur="MOZ">de la mozarella</option>
</input>

Paramètres liés à une zone de saisie de date <input type="date">

Le nom du paramètre ou des paramètres est donné par l'élément <nom> placé dans l'élément <input type="date">. Si cet élément n'existe pas, aucun paramètre n'existera.

Si cet élément <nom> possède un attribut type="string", un seul paramètre sera utilisé, dont le nom est donné par cet élément. La date sera alors envoyée sous la forme d'une seule chaîne de caractères "JJ/MM/AAAA".

Si cet élément <nom> ne possède pas d'attribut, ou s'il possède un attribut type="3-valeurs" (ou "3-values"), trois paramètres seront utilisés, dont le nom est donné par cet élément auquel on ajoute les suffixes _Day, _Month et _Year. La date sera alors envoyée sous la forme de trois valeurs distinctes ("JJ", "MM" et "AAAA")

Paramètre envoyé si l'attribut type est égal à type="string"

Si le paramètre n'existe pas ou si vous utilisez un attribut envoyer="non" sur l'élément <input type="date">, rien ne sera envoyé à l'application distante concernant ce champ. Il en va de même si le champ se trouve dans une section conditionnelle et que la condition n'est pas vérifiée (le champ ne sera pas visible dans le formulaire et l'utilisateur ne pourra donc pas y répondre).

La valeur envoyée sera celle présente dans la zone de saisie de date après que celle-ci ait été formatée sous la forme d'une chaîne de caractères "JJ/MM/AAAA".

Paramètres envoyés si l'attribut type n'existe pas ou est égal à type="3-valeurs"

Si les paramètres n'existent pas ou si vous utilisez un attribut envoyer="non" sur l'élément <input type="date">, rien ne sera envoyé à l'application distante concernant ce champ. Il en va de même si le champ se trouve dans une section conditionnelle et que la condition n'est pas vérifiée (le champ ne sera pas visible dans le formulaire et l'utilisateur ne pourra donc pas y répondre).

Les valeurs envoyées seront celles présentes dans la zone de saisie de date après que celle-ci ait été formatée.

Paramètres dans l'ensemble des paramètres du formulaire

Si le ou les paramètres existent, l'ensemble de paramètres lié au formulaire contiendra les paramètres suivants, où form représente le nom du formulaire et nom le nom du paramètre (ils sont illustrés avec le formulaire donné en exemple):

L'ensemble de ces paramètres existeront quelle que soit la valeur de l'attribut type (au contraire du ou des paramètres envoyés à l'application).

{form:nom}

la valeur du champ tel que l'utilisateur l'a encodé (sans formatage), sous la forme d'une chaîne de caractère J/M/AA

{f7:date}

{form:nom/format}

la valeur du champ après formatage, tel qui sera envoyé, sous la forme d'une chaîne de caractère JJ/MM/AAAA (l'année sera en 4 chiffres, le jour et le mois en 2 chiffres).

{f7:date/format}

{form:nom/label}

le libellé du champ

{f7:date/label}

{form:nom_Date}

la valeur de la date du jour tel que l'utilisateur l'a encodé (sans formatage)

{f7:date_Date}

{form:nom_Date/format}

la valeur de la date du jour après formatage

{f7:date_Date/format}

{form:nom_Month}

la valeur du mois tel que l'utilisateur l'a encodé (sans formatage)

{f7:date_Month}

{form:nom_Month/format}

la valeur du mois après formatage

{f7:date_Month/format}

{form:nom_Year}

la valeur de l'année tel que l'utilisateur l'a encodé (sans formatage)

{f7:date_Year}

{form:nom_Year/format}

la valeur de l'année après formatage

{f7:date_Year/format}

Votre date de naissance:

/ /
<input type="date">
   <nom>date</nom>
   <libellé>votre date de naissance</libellé>
   <valeur>7/2/98</valeur>
</input>

Paramètres liés à une zone de saisie de période <input type="période">

Le nom du paramètre ou des paramètres est donné par l'élément <nom> placé dans l'élément <input type="période">. Si cet élément n'existe pas, aucun paramètre n'existera.

Si cet élément <nom> possède un attribut type="string", un seul paramètre sera utilisé, dont le nom est donné par cet élément. Les dates de début et de fin seront alors envoyées sous la forme d'une seule chaîne de caractères "JJ/MM/AAAA-JJ/MM/AAAA".

Si cet élément <nom> possède un attribut type="2-strings", deux paramètres seront utilisés, dont le nom est donné par cet élément auquel on ajoute le suffixe "_From" et "_To". Les dates de début et de fin seront alors envoyées sous la forme de deux chaînes de caractères "JJ/MM/AAAA".

Si cet élément <nom> ne possède pas d'attribut, ou s'il possède un attribut type="6-valeurs" (ou "6-values"), six paramètres seront utilisés, dont le nom est donné par cet élément auquel on ajoute les suffixes _fromDay, _fromMonth, _fromYear, _toDay, _toMonth et _toYear. Les dates de début et de fin seront alors envoyées sous la forme de six valeurs distinctes ("JJ", "MM", "AAAA", "JJ", "MM" et "AAAA").

Paramètre envoyé si l'attribut type est égal à type="string"

Si le paramètre n'existe pas ou si vous utilisez un attribut envoyer="non" sur l'élément <input type="date">, rien ne sera envoyé à l'application distante concernant ce champ. Il en va de même si le champ se trouve dans une section conditionnelle et que la condition n'est pas vérifiée (le champ ne sera pas visible dans le formulaire et l'utilisateur ne pourra donc pas y répondre).

La valeur envoyée sera celle présente dans la zone de saisie de période après que celle-ci ait été formatée sous la forme d'une chaîne de caractères "JJ/MM/AAAA-JJ/MM/AAAA".

Paramètres envoyés si l'attribut est égal à type="2-strings"

Si les paramètres n'existent pas ou si vous utilisez un attribut envoyer="non" sur l'élément <input type="date">, rien ne sera envoyé à l'application distante concernant ce champ. Il en va de même si le champ se trouve dans une section conditionnelle et que la condition n'est pas vérifiée (le champ ne sera pas visible dans le formulaire et l'utilisateur ne pourra donc pas y répondre).

Les valeurs envoyées seront les dates de début et les dates de fin sous la forme de deux chaînes de caractères "JJ/MM/AAAA", après que celles-ci aient été formatées.

Paramètres envoyés si l'attribut type n'existe pas ou est égal à type="6-valeurs"

Si les paramètres n'existent pas ou si vous utilisez un attribut envoyer="non" sur l'élément <input type="date">, rien ne sera envoyé à l'application distante concernant ce champ. Il en va de même si le champ se trouve dans une section conditionnelle et que la condition n'est pas vérifiée (le champ ne sera pas visible dans le formulaire et l'utilisateur ne pourra donc pas y répondre).

Les valeurs envoyées seront celles présentes dans la zone de saisie de période, après que celle-ci ait été formatée.

Paramètres dans l'ensemble des paramètres du formulaire

Si le ou les paramètres existent, l'ensemble de paramètres lié au formulaire contiendra les paramètres suivants, où form représente le nom du formulaire et nom le nom du paramètre (ils sont illustrés avec le formulaire donné en exemple):

L'ensemble de ces paramètres existeront quelle que soit la valeur de l'attribut type (au contraire du ou des paramètres envoyés à l'application).

{form:nom}

la valeur du champ tel que l'utilisateur l'a encodé (sans formatage), sous la forme d'une chaîne de caractère J/M/AA-J/M/AA

{f8:congés}

{form:nom/format}

la valeur du champ après formatage, tel qui sera envoyé, sous la forme d'une chaîne de caractère JJ/MM/AAAA-JJ/MM/AAAA (l'année sera en 4 chiffres, le jour et le mois en 2 chiffres).

{f8:congés/format}

{form:nom/label}

le libellé du champ

{f8:congés/label}

{form:nom_From}

date de début: la valeur du champ tel que l'utilisateur l'a encodé (sans formatage), sous la forme d'une chaîne de caractère J/M/AA

{f8:congés_From}

{form:nom_From/format}

date de début: la valeur du champ après formatage, tel qui sera envoyé, sous la forme d'une chaîne de caractère JJ/MM/AAAA (l'année sera en 4 chiffres, le jour et le mois en 2 chiffres).

{f8:congés_From/format}

{form:nom_To}

date de fin: la valeur du champ tel que l'utilisateur l'a encodé (sans formatage), sous la forme d'une chaîne de caractère J/M/AA

{f8:congés_To}

{form:nom_To/format}

date de fin: la valeur du champ après formatage, tel qui sera envoyé, sous la forme d'une chaîne de caractère JJ/MM/AAAA (l'année sera en 4 chiffres, le jour et le mois en 2 chiffres).

{f8:congés_To/format}

{form:nom_fromDate}

date de début: la valeur de la date du jour tel que l'utilisateur l'a encodé (sans formatage)

{f8:congés_fromDate}

{form:nom_fromDate/format}

date de début: la valeur de la date du jour après formatage

{f8:congés_fromDate/format}

{form:nom_fromMonth}

date de début: la valeur du mois tel que l'utilisateur l'a encodé (sans formatage)

{f8:congés_fromMonth}

{form:nom_fromMonth/format}

date de début: la valeur du mois après formatage

{f8:congés_fromMonth/format}

{form:nom_fromYear}

date de début: la valeur de l'année tel que l'utilisateur l'a encodé (sans formatage)

{f8:congés_fromYear}

{form:nom_fromYear/format}

date de début: la valeur de l'année après formatage

{f8:congés_fromYear/format}

{form:nom_toDate}

date de fin: la valeur de la date du jour tel que l'utilisateur l'a encodé (sans formatage)

{f8:congés_toDate}

{form:nom_toDate/format}

date de fin: la valeur de la date du jour après formatage

{f8:congés_toDate/format}

{form:nom_toMonth}

date de fin: la valeur du mois tel que l'utilisateur l'a encodé (sans formatage)

{f8:congés_toMonth}

{form:nom_toMonth/format}

date de fin: la valeur du mois après formatage

{f8:congés_toMonth/format}

{form:nom_toYear}

date de fin: la valeur de l'année tel que l'utilisateur l'a encodé (sans formatage)

{f8:congés_toYear}

{form:nom_toYear/format}

date de fin: la valeur de l'année après formatage

{f8:congés_toYear/format}

Dates de vos vacances:

du / / au / /
<input type="période">
   <nom>congés</nom>
   <libellé>dates de vos vacances</libellé>
   <valeur>1/8/15-7/9/16</valeur>
</input>

Paramètres liés à un champ <input type="file">

Le nom du paramètre est donné par l'élément <nom> placé dans l'élément <input type="file">. Si cet élément n'existe pas, le paramètre n'existera pas.

Paramètre envoyé

Si le paramètre n'existe pas ou si vous utilisez un attribut envoyer="non" sur l'élément <input type="file">, rien ne sera envoyé à l'application distante concernant ce champ. Il en va de même si le champ se trouve dans une section conditionnelle et que la condition n'est pas vérifiée.

La valeur envoyée sera le contenu du fichier sélectionné dans le champs en question.

Des règles très particulières doivent être respectées pour récupérer le fichier sur le serveur distant.

Paramètres dans l'ensemble des paramètres du formulaire

Aucun paramètre n'est associé au fichier sélectionné.


Paramètres liés à un champ caché <input type="hidden">

Le nom du paramètre est donné par l'élément <nom> placé dans l'élément <input type="hidden">. Si cet élément n'existe pas, le paramètre n'existera pas.

Paramètre envoyé

Si le paramètre n'existe pas ou si vous utilisez un attribut envoyer="non" sur l'élément <input type="hidden">, rien ne sera envoyé à l'application distante concernant ce champ. Il en va de même si le champ se trouve dans une section conditionnelle et que la condition n'est pas vérifiée.

La valeur envoyée sera celle définie dans le champs en question.

Paramètres dans l'ensemble des paramètres du formulaire

Si le paramètre existe, l'ensemble de paramètres lié au formulaire contiendra les paramètres suivants, où form représente le nom du formulaire et nom le nom du paramètre (ils sont illustrés avec le formulaire donné en exemple):

{form:nomPrénom}

la valeur du champ tel qu'elle est définie

{f10:nomPrénom}

<input type="hidden">
   <nom>nomPrénom</nom>
   <valeur>Séraphin Lampion</valeur>
</input>

Paramètres liés à un bouton <bouton>

Le nom du paramètre est donné par l'élément <nom> placé dans l'élément <bouton>. Si cet élément n'existe pas, le paramètre n'existera pas.

Paramètre envoyé

Si le paramètre n'existe pas ou si vous utilisez un attribut envoyer="non" sur l'élément <bouton>, le bouton permettra d'envoyer le formulaire, mais rien ne sera envoyé à l'application distante concernant ce bouton.

La valeur envoyée sera égale au libellé du bouton.

Paramètres dans l'ensemble des paramètres du formulaire

Si le paramètre existe, l'ensemble de paramètres lié au formulaire contiendra les paramètres suivants, où form représente le nom du formulaire et nom le nom du paramètre (ils sont illustrés avec le formulaire donné en exemple):

{form:nom}

la valeur du bouton, qui est égale à son libellé

{f9:ok}

{form:nom/label}

le libellé du bouton

{f9:ok/label}

<bouton>
  <nom>ok</nom>
  <libellé>Envoyer</libellé>
</input>

Traitement des champs situés dans une section conditionnelle

Une question d'un formulaire peut être placée dans une section conditionnelle. Si la condition énoncée par l'attribut options n'est pas vérifiée, la question ne sera pas visible par l'utilisateur.

Il en va de même si la question fait partie d'une option avec un contenu sélectionnable dans une liste déroulante, un bouton radio ou une case à cocher: la question ne sera visible que si l'utilisateur sélectionne cette option-là.

Qand le formulaire est envoyé, le comportement par défaut est de ne pas tenir compte des questions cachées. Vous pouvez modifier ce comportement par défaut afin d'envoyer quand même le contenu du champs (mais sans validation) ou d'envoyer une valeur particulière (qui indiquerait à l'application distante que la question est cachée, par exemple).


Comportement par défaut

Dans les deux cas cités ci-dessus, le comportement par défaut est de ne pas valider les réponses aux questions cachées et de n'envoyer aucun paramètre concernant ces questions-là.


Dans cet exemple, quatre champs sont utilisés. Le premier, du type bouton radio, demande si vous êtes membre de l'ULB. Les deux suivants demandent vos nom et prénom, et le quatrième demande votre matricule.

Ce quatrième champ est dans une section conditionnelle grâce à l'attribut options (le bloc contenant le champ ne sera affiché que si la condition énoncée par l'attribut options est vérifiée). Dans cet exemple, ce quatrième champ ne sera affiché que si vous avez répondu oui (valeur="Y") à la première question.

Le premier champ ("Vous êtes membre de l'ULB") ainsi que le bouton n'enverront pas de paramètres car l'attribut envoyer="non" est présent dans les deux cas.

Si vous répondez "non" à la première question, la section conditionnelle que constitue le troisième <input> (celui qui demande le matricule) sera masquée, et donc le paramètre "matricule" ne sera pas envoyé.

Exemple
<formulaire style="voile" bords="arrondis">
   <test/>
   <input type="radio" envoyer="non">
      <nom>membre</nom>
      <libellé>Vous êtes membre de l'ULB</libellé>
      <obligatoire/>
      <option valeur="Y" activer-option="oui">oui</option>
      <option valeur="N" activer-option="non">non</option>
   </input>
   <input>
      <nom>lastname</nom>
      <libellé>nom</libellé>
      <obligatoire/>
   </input>
   <input>
      <nom>firstname</nom>
      <libellé>prénom</libellé>
      <obligatoire/>
   </input>
   <input options="membre:Y">
      <nom>matricule</nom>
      <libellé>matricule</libellé>
      <obligatoire/>
   </input>
   <bouton envoyer="non">
      <nom>go</nom>
      <libellé>Envoyer</libellé>
   </bouton>
</formulaire>

Vous êtes membre de l'ULB:

oui

non

Nom:

Prénom:


Dans cet exemple, une seule question est affichée proposant trois options. Ces trois options possèdent chacune une sous-question qui n'apparaîtra que si l'option correspondante est sélectionnée.

La valeur de ces trois sous-questions est obligatoire, mais elle ne sera vérifié que si l'option correspondante est sélectionnée. De même, le paramètre lié à ces sous-questions ne sera envoyé que dans ce cas-là aussi.

Exemple
<formulaire style="voile" bords="arrondis">
   <test/>
   <input type="radio">
      <nom>membre</nom>
      <libellé>Vous êtes:</libellé>
      <obligatoire/>
      <option valeur="personnel">
         <libellé>membre du personnel</libellé>
         <input>
            <nom>matriculePerso</nom>
            <libellé>votre matricule du personnel:</libellé>
            <obligatoire/>
        </input>
      </option>
      <option valeur="student">
         <libellé>étudiant</libellé>
         <input>
            <nom>matriculeEtudiant</nom>
            <libellé>votre matricule étudiant:</libellé>
            <obligatoire/>
        </input>
      </option>
      <option valeur="externe">
         <libellé>extérieur à l'ULB</libellé>
         <input>
            <nom>nomPrénom</nom>
            <libellé>vos nom et prénom:</libellé>
            <obligatoire/>
        </input>
      </option>
   </input>
   <bouton envoyer="non">
      <nom>go</nom>
      <libellé>Envoyer</libellé>
   </bouton>
</formulaire>

Vous êtes:

membre du personnel

étudiant

extérieur à l'ULB


Modifier le comportement par défaut

Vous pouvez modifier le comportement par défaut cité ci-dessus, en utilisant l'attribut envoyer="oui" ou envoyer="oui:xxxx". Dans les deux cas, le ou les paramètres associés aux questions cachées seront envoyés à l'application distante. Cet envoi se fera sans valider la question (car ni la question, ni le message d'erreur après validation ne seront visibles par l'utilisateur, et il ne saura donc pas en mesure de se rendre compte du problème).

Dans le premier cas, envoyer="oui", le ou les paramètres contiendront le contenu du champ sans validation.

Dans le deuxième cas, envoyer="oui:xxxx", le ou les paramètres contiendront la valeur donnée par xxxx (le contenu du champ sera ignoré et remplacé par xxxx).


Dans cet exemple, qui est une variante de l'exemple précédent, une première question est affichée proposant trois options. Ces trois options possèdent chacune une sous-question qui n'apparaîtra que si l'option correspondante est sélectionnée.

De plus, si la première ou la deuxième option est choisie, une deuxième question apparaîtra pour demander d'introduire votre netid (cette question apparaîtra grâce aux options membre:personnel et membre:student générées par la première question).

La valeur des trois sous-questions et de la deuxième question est obligatoire, mais elle ne sera vérifié que si l'option ou les options correspondantes sont sélectionnées. Par contre, comme l'attribut envoyer="oui" est utilisé dans chaque cas, la valeur de ces sous-questions ou de la question supplémentaire sera envoyée (mais sans validation si la question est cachée).

Exemple
<formulaire style="voile" bords="arrondis">
   <test/>
   <input type="radio" activer-option="oui">
      <nom>membre</nom>
      <libellé>Vous êtes:</libellé>
      <obligatoire/>
      <option valeur="personnel">
         <libellé>membre du personnel</libellé>
         <input envoyer="oui">
            <nom>matriculePerso</nom>
            <libellé>votre matricule du personnel:</libellé>
            <obligatoire/>
        </input>
      </option>
      <option valeur="student">
         <libellé>étudiant</libellé>
         <input envoyer="oui">
            <nom>matriculeEtudiant</nom>
            <libellé>votre matricule étudiant:</libellé>
            <obligatoire/>
        </input>
      </option>
      <option valeur="externe">
         <libellé>extérieur à l'ULB</libellé>
         <input  envoyer="oui">
            <nom>nomPrénom</nom>
            <libellé>vos nom et prénom:</libellé>
            <obligatoire/>
        </input>
      </option>
   </input>
   
   <input options="membre:personnel|membre:student" envoyer="oui">
      <nom>netid</nom>
      <libellé>votre netid</libellé>
      <obligatoire/>
   </input>
   
   <bouton envoyer="non">
      <nom>go</nom>
      <libellé>Envoyer</libellé>
   </bouton>
</formulaire>

Vous êtes:

membre du personnel

étudiant

extérieur à l'ULB



Le même exemple que ci-dessus, mais cette fois-ci c'est la valeur constante "#sans-objet" qui sera envoyé pour chaque question cachée par une section optionnelle.

Exemple
<formulaire style="voile" bords="arrondis">
   <test/>
   <input type="radio" activer-option="oui">
      <nom>membre</nom>
      <libellé>Vous êtes:</libellé>
      <obligatoire/>
      <option valeur="personnel">
         <libellé>membre du personnel</libellé>
         <input envoyer="oui:#sans-objet">
            <nom>matriculePerso</nom>
            <libellé>votre matricule du personnel:</libellé>
            <obligatoire/>
        </input>
      </option>
      <option valeur="student">
         <libellé>étudiant</libellé>
         <input envoyer="oui:#sans-objet">
            <nom>matriculeEtudiant</nom>
            <libellé>votre matricule étudiant:</libellé>
            <obligatoire/>
        </input>
      </option>
      <option valeur="externe">
         <libellé>extérieur à l'ULB</libellé>
         <input  envoyer="oui:#sans-objet">
            <nom>nomPrénom</nom>
            <libellé>vos nom et prénom:</libellé>
            <obligatoire/>
        </input>
      </option>
   </input>
   
   <input options="membre:personnel|membre:student" envoyer="oui:#sans-objet">
      <nom>netid</nom>
      <libellé>votre netid</libellé>
      <obligatoire/>
   </input>
   
   <bouton envoyer="non">
      <nom>go</nom>
      <libellé>Envoyer</libellé>
   </bouton>
</formulaire>

Vous êtes:

membre du personnel

étudiant

extérieur à l'ULB

ULB - entreprise écodynamique