Réinitialiser un formulaire à chaque sélectio

[Résolu/Fermé]
Signaler
-
 Andréa -
Bonjour,

Je réalise un formulaire. Dès qu'on coche un premier bouton radio dans une 1ère sélection, une 2ème sélection apparait associée à la 1ère. Seulement, si je clique sur un autre bouton radio de la 1ère sélection, la 2ème sélection associée va s'afficher mais l'ancienne (2ème sélection) reste elle aussi afficher :s

Est-ce qu'il y aurait moyen de réinitialiser ça et que lorsqu'on recoche un 1er bouton radio cela n'affiche que la sélection associée de ce bouton et que ça enlève l'ancienne ?

Mercii par avance.

10 réponses

Messages postés
57
Date d'inscription
mardi 18 mai 2010
Statut
Membre
Dernière intervention
4 décembre 2012
1
Tiens, c'est TON code, mais je l'ai pas mal modifié (seulement sur le script)
essaie et dis moi si ça te convient !

<html> 
<head> 

<SCRIPT LANGUAGE="Javascript">  
   
  <!-- permet de cacher les traitements non selectionnés--> 
function visibilite(thingId) 
{ 
if(document.getElementById){ 
  if (thingId=="id_div_1"){ 
   tabler1 = document.getElementById('id_div_1'); 
   tabler1.style.display=""; 
   tabler2 = document.getElementById('id_div_2'); 
   tabler2.style.display="none"; 
  } 
  if (thingId=="id_div_2"){ 
   tabler2 = document.getElementById('id_div_2'); 
   tabler2.style.display=""; 
   tabler1 = document.getElementById('id_div_1'); 
   tabler1.style.display="none"; 
  } 
 } 
  } 

</script>  


</head> 
<body> 

<input hidden type='radio'name='variable'value='Nombre de CD'onfocus="javascript:visibilite('id_div_1'); return false;"> 
<font COLOR="black">Nombre de CD</font> 
<p align="center"><input hidden type='radio'name='variable'value='Nombre de DVD'onfocus="javascript:visibilite('id_div_2'); return false;"> 
<font COLOR="black">Nombre de DVD</font> 

<!--traitement pour les CD--> 
<p align="center"> 
<div id="id_div_1" style="display:none;"><input type="hidden" name="traitement1" value="traitement1"><br><br><br><br><b> 
<font SIZE="4" COLOR="Orange">Traitement :</font></b><br> 

<input hidden type='radio'name='traitement'value='Nombre annuel de CD'onclick="javascript:visibilite('id_date_1'); return false;"> 
<font COLOR="black">Nombre annuel de CD</font> 
<input hidden type='radio'name='traitement'value='Nombre mensuel de CD'onclick="javascript:visibilite('id_date_2'); return false;"> 

<font COLOR="black">Nombre mensuel de CD</font> 
</div> 
</p> 


<!--traitement pour les DVD--> 
<p align="center"><div id="id_div_2" style="display:none;"><input type="hidden" name="traitement2" value="traitement2"><br><br><br><br><b> 
<font SIZE="4" COLOR="Orange">Traitement :</font></b><br> 

<input hidden type='radio'name='traitement'value='Nombre annuel de DVD'onclick="javascript:visibilite('id_date_1'); return false;"> 
<font COLOR="black">Nombre annuel de DVD</font> 
<input hidden type='radio'name='traitement'value='Nombre mensuel de DVD'onclick="javascript:visibilite('id_date_2'); return false;"> 

<font COLOR="black">Nombre mensuel de DVD</font> 
</div> 
</p> 
</body> 
</html> 
1
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 42674 internautes nous ont dit merci ce mois-ci

Messages postés
57
Date d'inscription
mardi 18 mai 2010
Statut
Membre
Dernière intervention
4 décembre 2012
1
Salut !
C'est pas difficile, quand tu fais apparaitre un div, rajoute une ligne qui fait disparaitre l'autre div.

Voila le code !
<html>
<head>

<SCRIPT LANGUAGE="Javascript"> 
  function show(val) {
    if(document.getElementById){
		if (val=="rad1"){
			tabler1 = document.getElementById('table1');
			tabler1.style.display="";
			tabler2 = document.getElementById('table2');
			tabler2.style.display="none";
		}
		if (val=="rad2"){
			tabler2 = document.getElementById('table2');
			tabler2.style.display="";
			tabler1 = document.getElementById('table1');
			tabler1.style.display="none";
		}
	}
  }
</script>

</head>
<body>

<INPUT TYPE=RADIO NAME="radio" id="rad1" onfocus="show(this.id);return(false)">radio1</input>
<INPUT TYPE=RADIO NAME="radio" id="rad2" onfocus="show(this.id);return(false)">radio2</input>

<div id="table1" style="display:none">youhou</div>
<div id="table2" style="display:none">cool</div>
</body>
</html>
Messages postés
57
Date d'inscription
mardi 18 mai 2010
Statut
Membre
Dernière intervention
4 décembre 2012
1
ça te va ?
Merci de cette réponse rapide :)

Je voulais savoir si avec le script que j'ai déjà mis, on pouvait pas le modifier :

<script> <!-- permet de cacher les traitements non selectionnés-->
function visibilite(thingId)
{
var targetElement;
targetElement = document.getElementById(thingId) ;
if (targetElement.style.display == "none")
{
targetElement.style.display = "" ;
} else {
targetElement.style.display = "none" ;
}
}
</script>

Mais ça ne suffit pas pour ce que j'ai expliqué tout à l'heure :(

Mercii.
Et j'oubliais !!

Par exemple pour chaque bouton radio de la 1ère sélection :

<input hidden type='radio'name='variable'value='Nombre de CD'onclick="javascript:visibilite('id_div_1'); return false;">
<font COLOR="White">Nombre de CD</font>
<p align="center"><input hidden type='radio'name='variable'value='Nombre de DVD'onclick="javascript:visibilite('id_div_2'); return false;">
<font COLOR="White">Nombre de DVD</font>

<!--traitement pour les CD-->
<p align="center"><div id="id_div_1" style="display:none;"><input type="hidden" name="traitement1" value="traitement1"><br><br><br><br><b>
<font SIZE="4" COLOR="Orange">Traitement :</font></b><br>
<input hidden type='radio'name='traitement'value='Nombre annuel de CD'onclick="javascript:visibilite('id_date_1'); return false;">
<font COLOR="White">Nombre annuel de CD</font>
<input hidden type='radio'name='traitement'value='Nombre mensuel de CD'onclick="javascript:visibilite('id_date_2'); return false;">

Et pareil pour les DVD. Mais quand je choisis les CD et que finalement Je clic sur DVD ça m'affiche le traitement des CD et des DVD.
<font COLOR="White">Nombre mensuel de CD</font>
C'est ni quel !! Merci beaucoup :))

Je voulais juste terminer par le bouton radio :s
Quand je clique sur le 1er c'est bon mais quand je clique sur un autre, même si ça marche, c'est le 1er qui reste coché ! Le "coche" ne veut pas bouger en faite !

T'aurais une idée ??

Merci de ton aide en tout cas ;)
Messages postés
57
Date d'inscription
mardi 18 mai 2010
Statut
Membre
Dernière intervention
4 décembre 2012
1
Oui, remplace tes "onclick" par des "onfocus" ;)
Merci pour tout c'est super !!
Messages postés
57
Date d'inscription
mardi 18 mai 2010
Statut
Membre
Dernière intervention
4 décembre 2012
1
Pas de quoi ! :)
Salut !!

Je reviens te voir pour savoir si ce code on ne peut pas le réduire ?? Car j'ai rajouté d'autres traitements et ça n'en finit pas, ça prend la moitié du fichier :s

Mercii ;)
C'est bon mon problème est résolu ;)