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

<input type="hidden">: zone cachée, non visible, servant à stocker une valeur

Une zone cachée, ou champs caché, se définit à l'aide d'un élément <input type="hidden">. Elle permet de stocker une valeur qui sera envoyée à l'application distante à l'aide d'un paramètre ou qui pourra être utilisée ailleurs dans la page (plus d'informations ici).


Exemple de zone cachée
Code de cet exemple
<input type="hidden">
   <nom>date</nom>
   <valeur>{server:dateTime}</valeur>
</input>

Dans l'exemple ci-dessus, la zone cachée n'est pas visible à l'écran. Celle-ci contiendra la date et l'heure provenant du serveur web au moment de l'affichage de la page (grâce au paramètre {server:dateTime}). Cette information sera transmise à l'application distante, via le paramètre date.


Contenu de l'élément <input type="hidden">

L'élément <input type="hidden"> peut posséder les sous-éléments suivants (ils ne sont pas obligatoires):

<nom>

donne le nom du paramètre à envoyer avec les données du formulaire ou à utiliser dans le reste de la page

<valeur>

donne la valeur de cette zone cachée (comme l'utilisateur n'a pas la possibilité de modifier cette valeur, c'est cette valeur qui sera vraisemblablement envoyée à l'application distante)


L'élément <input type="hidden"> peut posséder les attributs suivants (ils ne sont pas obligatoires):

envoyer="..."

précise s'il faut envoyer ou non un paramètre à l'application distante


Il est également possible d'utiliser les synonymes suivants:

<nom>

synonyme de <name>

<value>

synonyme de <valeur>


Dans cet exemple, le formulaire contient un champ caché contenant la valeur "envoyer documentation" liée à un paramètre objet. Cette valeur sera envoyée à l'aide de ce paramètre en même temps que les autres données du formulaire (comme s'il s'agissait d'une zone de saisie de texte).

Exemple
<input type="text">
   <nom>nom</nom>
   <libellé>entrez vos nom et prénom</libellé>
   <valeur>Séraphin Lampion</valeur>
</input>

<input type="hidden">
   <nom>objet</nom>
   <valeur>envoyer documentation</valeur>
</input>

<bouton>
   <libellé>envoyer</libellé>
</bouton>						

Entrez vos nom et prénom:


Valeur de la zone cachée

La valeur de la zone cachée est initialement donnée par un élément <valeur> (ou du synonyme <value>). Cette valeur pourra éventuellement être modifiée via des actions modifier:xxxx ou remplacer:xxxx.

Cette valeur peut faire appel à des paramètres entre accolades. Ceux-ci sont très utiles pour communiquer diverses informations à l'application distante, notamment celles sur la personne connectée via l'Intranet.


Coordonnées de l'utilisateur connecté à l'Intranet

Dans cet exemple, le formulaire utilise quatre champs cachés. Ceux-ci contiendront des informations sur la personne connectée via l'Intranet, à savoir: son matricule, son nom, son prénom et sont e-mail, grâce aux quatre paramètres {intranet:matri}, {intranet:nom}, {intranet:prénom} et {intranet:email}.

Pour pouvoir utiliser ces champs, et donc le formulaire, il faut placer ce dernier dans une section optionnelle activée via une option sous le contrôle de l'Intranet. C'est chose faite avec l'attribut options placé sur le formulaire.

De cette manière, le formulaire ne sera pas visible tant que l'Intranet n'aura pas communiqué les informations qu'il détient sur la personne connectée. Il restera invisible si la personne n'est pas connectée à l'Intranet.

Exemple
<bloc bords="arrondis" style="colorBar3" options="no-intranet">
   <p><a cible="intranet:login">Connectez-vous</a> à l'Intranet 
      pour voir cet exemple fonctionner.</p>
</bloc>

<formulaire options="intranet">
   <test/>
   <input type="textarea">
      <nom>question</nom>
      <libellé>entrez votre question</libellé>
   </input>
   <input type="hidden">
      <nom>matricule</nom>
      <valeur>{intranet:matri}</valeur>
   </input>
   <input type="hidden">
      <nom>nom</nom>
      <valeur>{intranet:nom}</valeur>
   </input>
   <input type="hidden">
      <nom>prenom</nom>
      <valeur>{intranet:prénom}</valeur>
   </input>
   <input type="hidden">
      <nom>email</nom>
      <valeur>{intranet:email}</valeur>
   </input>
   <bouton>
      <libellé>envoyer</libellé>
   </bouton>						
</formulaire>					

Dans ce deuxième exemple, qui est une variante de l'exemple précédent, les champs cachés sont initialisés avec la valeur constante "#nc". Un élément <interaction> déclenchera des actions pour modifier cette valeur constante par des données provenant de l'Intranet, ce qui permettra d'initialiser les quatre champs cachés avec le matricule, le nom, le prénom et l'email de la personne connectée comme dans l'exemple précédent.

Toutefois, ces actions ne seront déclenchées que lorsque l'Intranet mettra à disposition ces valeurs. S'il ne le fait pas, lorsque l'utilisateur n'est pas connecté par exemple, elles ne seront jamais déclenchées.

Cela permet de laisser le formulaire visible en toute circonstance, que la personne soit connectée ou non à l'Intranet (si elle n'est pas connectée, la valeur "#nc" sera envoyée).

Exemple
<section options="intranet">
   <interaction>
      <actions exécuter="démarrage">
         modifier:formulaire:matricule={intranet:matri}
         modifier:formulaire:nom={intranet:nom}
         modifier:formulaire:prenom={intranet:prénom}
         modifier:formulaire:email={intranet:email}
      </actions>
   </interaction>
</section>

<formulaire ancre="formulaire">
   <test/>
   <input type="textarea">
      <nom>question</nom>
      <libellé>entrez votre question</libellé>
   </input>
   <input type="hidden">
      <nom>matricule</nom>
      <valeur>#nc</valeur>
   </input>
   <input type="hidden">
      <nom>nom</nom>
      <valeur>#nc</valeur>
   </input>
   <input type="hidden">
      <nom>prenom</nom>
      <valeur>#nc</valeur>
   </input>
   <input type="hidden">
      <nom>email</nom>
      <valeur>#nc</valeur>
   </input>
   <bouton>
      <libellé>envoyer</libellé>
   </bouton>						
</formulaire>					

Entrez votre question:

ULB - entreprise écodynamique