Evènement sur les boutons radio

Résolu/Fermé
pulls Messages postés 136 Date d'inscription mercredi 30 décembre 2009 Statut Membre Dernière intervention 13 septembre 2023 - 30 déc. 2012 à 17:28
pulls Messages postés 136 Date d'inscription mercredi 30 décembre 2009 Statut Membre Dernière intervention 13 septembre 2023 - 1 janv. 2013 à 17:29
Bonjour,


J'ai créé une fonction javascript pour afficher l'une des 2 listes déroulantes de mon programme, suivant que je sélectionne , l'un ou l'autre des 2 boutons radio. ça ne marche pas. voici ma fonction javascript:


function schowchoice2(){

	var choix_liste2=document.getElementById('ville3').checked;
	var choix_liste3=document.getElementById('agent3').checked;


		if (choix_liste2=="checked"){
			document.getElementById('ville3').style.visibility="visible"; 
				  
			}
		if(choix_liste3=="checked") {
			document.getElementById('agent3').style.visibility="visible";
		   }
		 
		

}



Je ne sais pas si mon test doit etre : if(choix_liste3=="checked") ou if(choix_liste3==true)

ou if(choix_liste3)




Voici mes boutons radio:


<tr>
            <td height="24"><input type="radio" name="radio" id="ville2" value="ville" onfocus="schowchoice2();"   />
            <label for="ville2">Ville</label></td>
            <td><input type="radio" name="radio" id="agent" value="agent"  onfocus="schowchoice2();"  />
            <label for="agent">Agent ccial</label></td>
          </tr>


J'ai utilisé l'évènement onfocus, pour appeler la fonction javascript, je ne sais pas si c'est juste. Je voudrais que quand le bouton est selectionné, une des 2 listes déroulantes s'affiche.


Voici les 2 listes déroulantes de mon programme:


<tr>
            <td height="36" id="liste">
                <p><select name="agent3" id="agent3" style="visibility:hidden">
                <option value="init" >Choix  agent </option>
                <?php
        	$req = "SELECT * FROM utilisateur ";
        	$rs = mysql_query($req);$i=1;
        	while ($ligne = mysql_fetch_array($rs))
        	{       
        		extract($ligne);
        ?>
                <option value="<?php echo $login?>"><?php echo $matricule." - ".$login?></option>
                <?php }?>
              </select>
                  <select name="ville3" id="ville3" style="visibility:hidden">
                    <option value="init" >Choix  ville </option>
                    <?php
        	$req = "SELECT * FROM ville ";
        	$rs = mysql_query($req);$i=1;
        	while ($ligne = mysql_fetch_array($rs))
        	{       
        		extract($ligne);
        ?>
                    <option value="<?php echo $idVille?>"><?php echo $idVille." - ".$nomVille?></option>
                    <?php }?>
                  </select>
              </p>
            
              
           </td>
          </tr>

2 réponses

Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
31 déc. 2012 à 22:29
bonsoir:

function schowchoice2(){
	var choix_liste2=document.getElementById('ville3');
	var choix_liste3=document.getElementById('agent3');
		if (choix_liste2.checked){ //sous entendu ==true
			document.getElementById('ville3').style.display="block"; 
			document.getElementById('agent3').style.display="none"; //il faut cacher l'autre eventuellement affichée, l'utilisateur peut changer d'avis
				  
		}
		if(choix_liste3.checked) {
			document.getElementById('agent3').style.display="block";
			document.getElementById('ville3').style.display="none";
		}
	
}

<input type="radio" name="radio" id="ville2" value="ville" onclick="schowchoice2();"   />
<input type="radio" name="radio" id="agent" value="agent"  onclick="schowchoice2();"  />


<select name="agent3" id="agent3" style="display:none;">
<select name="ville3" id="ville3" style="display:none;">

//il vaut mieux none / block  car avec visibility / hidden on a un espace vide à la place de la liste
0
pulls Messages postés 136 Date d'inscription mercredi 30 décembre 2009 Statut Membre Dernière intervention 13 septembre 2023 3
1 janv. 2013 à 17:29
Bonsoir,


Je vous remercie, ça marche


Cordialement.
0