Afficher un div selon choix d'un select

Signaler
Messages postés
6
Date d'inscription
mardi 17 juin 2003
Statut
Membre
Dernière intervention
25 septembre 2006
-
Messages postés
6
Date d'inscription
mardi 17 juin 2003
Statut
Membre
Dernière intervention
25 septembre 2006
-
Bonjour,

je souhaiterais dans mon formulaire afficher ou non un div selon que l'on choisisse tel ou tel élément dans un liste déroulante.
en l'ocurrence sur un seul d'entre eux j'afficherais ce div et sur les autres je masquerais ce div.

Merci.

10 réponses

Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
36
Bonjour,

pour afficher/cacher un div :
   _   référence au div.style.display="inline" ou "none" 
   _   référence au div.style.visibility="visible" ou "hidden" 
   _ ... ?

pour tester quelle ligne est "sélectionnée" dans un select
   <select...
      <option value="????">texte affiché</option>....

   _ référence au select.selectedIndex   =   n° de ligne
   _ référence au select[référence au select.selectedIndex].text   =   ce qui est affiché à cette ligne
   _ référence au select[référence au select.selectedIndex].value   =   ce qui est dans le value de cette ligne
   _ ... ?
   
<hr />
            Cordialement    Bul    [mon Site]    [M'écrire]
<hr />
Messages postés
6
Date d'inscription
mardi 17 juin 2003
Statut
Membre
Dernière intervention
25 septembre 2006

je connais effectivement cela, mais je n'arrive pas à faire un fonction JS qui marche avec l'evenement onchange du select qui affichera oui ou non ce fameux div.
ça m'eviterait de faire un chargement de la page.

il faudrait faire une fonction qui teste la ligne selectionnée du select et en fonction de ça, on gere l'affichage du div, mais je n'y arriva pas.

Merci pour l'aide.
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
36
Bonjour,
  

>>ça m'eviterait de faire un chargement de la page ???
    alors, ça, je ne vois pas pourquoi     !

   un ch'tit exemple ( ici on teste le n° de ligne )




<HTML Lang= "fr">
<HEAD>
<TITLE></TITLE>
<Script type="Text/JavaScript">
function tata(lst)
{
 var d=document.getElementById("toto");
 if ( lst.selectedIndex==1)
  d.style.display="block";
 else
  d.style.display="none";
}
</Script>
</HEAD>

titi

<select onchange="tata(this);">
 <option>cacher 1</option>
 <option>montrer</option>
 <option>cacher 2</option>
</select>
</HTML>

<hr />
   Cordialement    Bul    [
mon Site
]    [
=Bul
M'écrire

]
<hr />
Messages postés
6
Date d'inscription
mardi 17 juin 2003
Statut
Membre
Dernière intervention
25 septembre 2006

okay, j'ai mis ça en place, ça marche bien.
en fait j'avais fais la même chose sauf que la fonction je l'appelais tata() et je ne mettais pas le this.

par contre comment masquer le div par defaut au chargement de la page, car pour le moment le div se voit quand on arrive.

Merci.
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
36
Bonjour,

>>comment masquer le div par defaut au chargement de la page ?

en lui donnant le syle kivabien ?
...
...




<hr />
            Cordialement    Bul    [
mon Site
]    [
M'écrire
]
<hr />
Messages postés
6
Date d'inscription
mardi 17 juin 2003
Statut
Membre
Dernière intervention
25 septembre 2006

je pensais qu'on ne pouvait pas mettre un style et ensuite lui indiquer un changement avec la fonction.

par contre, j'avais deja 1 appel de fonction sur le onchange et quand je mets les 2 fonction ça merde, un objet est attendu.
onChange="couleur(this),affich(this)"

d'ou peut venir le pb ?

Merci encore pour la rapidité des reponses.
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
36
Bonjour,

onChange= "couleur(this); affich(this); "




>>je pensais qu'on ne pouvait pas..

si, si... heureusement




<hr />
            Cordialement    Bul    [
mon Site
]    [
=Bul
M'écrire

]
<hr />
Messages postés
6
Date d'inscription
mardi 17 juin 2003
Statut
Membre
Dernière intervention
25 septembre 2006

c bizarre, des que je selectionne un objet dasn la liste j'ai une erreur 'objet attendu' ?
pourtant j'ai bien mis onChange="couleur(this); affich(this); "

voici mes 2 fonctions :

// permet d'afficher/masquer
function affich(lst){   
 var div=document.getElementById("div_modalite");
 if (lst.selectedIndex == 1)
  div.style.display="inline";
 else
  div.style.display="none";
}

// regarde si les champs sont vides a l'envoi du form
function check() {
    var msg = "";
    var color = "#FFFF99";
if (document.form_paiement.nature.value == "")   {
      msg += "Veuillez choisir la nature du paiement\n";
      document.form_paiement.nature.style.backgroundColor = color;
   }
if (document.form_paiement.montant.value == "")   {
      msg += "Veuillez saisir un montant\n";
      document.form_paiement.montant.style.backgroundColor = color;
   }
if (document.form_paiement.reference.value == "")   {
      msg += "Veuillez saisir une référence du dossier\n";
      document.form_paiement.reference.style.backgroundColor = color;
   }
if (document.form_paiement.nom.value == "")   {
      msg += "Veuillez saisir votre nom\n";
      document.form_paiement.nom.style.backgroundColor = color;
   }
if (document.form_paiement.ville.value == "")   {
      msg += "Veuillez saisir la ville du siège social\n";
      document.form_paiement.ville.style.backgroundColor = color;
   }
if (msg == "") return(true);
   else   {
      alert(msg);
      return(false);
   }
}
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
36
euh... et la function couleur(tutu) ?
et l'appel donné contient une , pas un ;
<hr />
         Cordialement    Bul    [mon Site]    [M'écrire]
<hr />
Messages postés
6
Date d'inscription
mardi 17 juin 2003
Statut
Membre
Dernière intervention
25 septembre 2006

okay le PB est réglé, il manquait la fonction couleur.
merci encore