Afficher un div selon choix d'un select

cs_pedroso
Messages postés
6
Date d'inscription
mardi 17 juin 2003
Statut
Membre
Dernière intervention
25 septembre 2006
- 25 sept. 2006 à 12:17
cs_pedroso
Messages postés
6
Date d'inscription
mardi 17 juin 2003
Statut
Membre
Dernière intervention
25 septembre 2006
- 25 sept. 2006 à 17:52
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

cs_bultez
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
32
25 sept. 2006 à 12:32
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 />
0
cs_pedroso
Messages postés
6
Date d'inscription
mardi 17 juin 2003
Statut
Membre
Dernière intervention
25 septembre 2006

25 sept. 2006 à 12:52
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.
0
cs_bultez
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
32
25 sept. 2006 à 13:35
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 />
0
cs_pedroso
Messages postés
6
Date d'inscription
mardi 17 juin 2003
Statut
Membre
Dernière intervention
25 septembre 2006

25 sept. 2006 à 14:19
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.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_bultez
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
32
25 sept. 2006 à 14:31
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 />
0
cs_pedroso
Messages postés
6
Date d'inscription
mardi 17 juin 2003
Statut
Membre
Dernière intervention
25 septembre 2006

25 sept. 2006 à 14:40
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.
0
cs_bultez
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
32
25 sept. 2006 à 14:53
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 />
0
cs_pedroso
Messages postés
6
Date d'inscription
mardi 17 juin 2003
Statut
Membre
Dernière intervention
25 septembre 2006

25 sept. 2006 à 15:27
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);
   }
}
0
cs_bultez
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
32
25 sept. 2006 à 15:34
euh... et la function couleur(tutu) ?
et l'appel donné contient une , pas un ;
<hr />
         Cordialement    Bul    [mon Site]    [M'écrire]
<hr />
0
cs_pedroso
Messages postés
6
Date d'inscription
mardi 17 juin 2003
Statut
Membre
Dernière intervention
25 septembre 2006

25 sept. 2006 à 17:52
okay le PB est réglé, il manquait la fonction couleur.
merci encore
0