Masquer champ en code nav
Gilles Balp

 

Vous avez besoin de champs de saisie différents selon une sélection dans une combo (liste déroulante) ou dans un sélecteur.
Comment rendre visible ou invisible les champs en fonction de ces sélections sans faire appel au serveur ?
Utiliser la propriété JS <style.display>

Initialiser des variables globales contenant les alias des champs

Déclarations globales de MaPage (serveur) 

gA_Combo1 est une chaîne = Combo1..Alias
gA_Sélecteur1 est une chaîne = Sélecteur1..Alias
gA_Saisie1 est une chaîne = Saisie1..Alias
gA_Saisie2 est une chaîne = Saisie2..Alias
gA_Saisie3 est une chaîne = Saisie3..Alias
// etc...
//Attention : ne pas choisir des noms de variable comme A1, A2 ... ce sont déjà des noms d'alias  utilisés par webdev

Initialisation de l'état des champs au chargement de la page

WL Chargement (onload) de MaPage (navigateur)
//ne s'applique qu'à des champs de saisie
//tous les champs sont cachés
JSPropriété("document.MAPAGE."+gA_Saisie1,"style.display")="none"
JSPropriété("document.MAPAGE."+gA_Saisie2,"style.display")="none" 
JSPropriété("document.MAPAGE."+gA_Saisie3,"style.display")="none" 

Exemple de traitement associé au champ Combo(liste déroulante)

WL A chaque modification et sortie (onchange) de Combo1 (navigateur)
SELON MoiMême
   CAS 3 : JSPropriété("document.MAPAGE."+gA_Saisie2,"style.display")="block"
   AUTRE CAS : JSPropriété("document.MAPAGE."+gA_Saisie2,"style.display")="none"
FIN

Exemple de traitement associé à un sélecteur

WL Clic (onclick) de Sélecteur1 (navigateur)
SELON MoiMême
   CAS 1
       Saisie1 = "Saisir dans le champ <Saisie2>"
       JSPropriété("document.MAPAGE."+gA_Saisie1,"style.display")="block"
       JSPropriété("document.MAPAGE."+gA_Saisie2,"style.display")="block" 
       JSPropriété("document.MAPAGE."+gA_Saisie3,"style.display")="none"
   CAS 2
       Saisie1 = "Saisir dans le champ <Saisie3>"
       JSPropriété("document.MAPAGE."+gA_Saisie1,"style.display")="block"
       JSPropriété("document.MAPAGE."+gA_Saisie2,"style.display")="none"
       JSPropriété("document.MAPAGE."+gA_Saisie3,"style.display")="block"
   AUTRE CAS
       JSPropriété("document.MAPAGE."+gA_Saisie1,"style.display")="none"
       JSPropriété("document.MAPAGE."+gA_Saisie2,"style.display")="none"
       JSPropriété("document.MAPAGE."+gA_Saisie3,"style.display")="none"
FIN