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 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
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 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
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 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
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 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
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 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
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
Rejoignez-nous