Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1722 connectés 

  FORUM HardWare.fr
  Programmation
  HTML/CSS

  [javascript] désactiver une liste déroulante en cochant 1 bouton radio

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[javascript] désactiver une liste déroulante en cochant 1 bouton radio

n°1506995
cyberP@cal
Posté le 25-01-2007 à 01:55:42  profilanswer
 

Voila je suis en train de réaliser un formulaire et je voudrai que lorsque je coche un bouton radio cela désactive une liste découlante.Je vous donne un bout de mon code :
 

Code :
  1. <P>
  2.   Aller simple :<INPUT TYPE='RADIO' NAME='type' VALUE='as' checked>
  3.   Aller-retour : <INPUT TYPE='RADIO' NAME='type' VALUE='ar' > &nbsp;
  4. </div>
  5. <p>
  6. <div class="conteneur2">
  7. <div class="centre2">
  8. <FONT COLOR="#ffffff">
  9. <b>Précisez</b> </FONT>
  10. </div>
  11. <p>
  12. <div class="conteneur1">
  13. <div class="centre1">
  14. <b>Date aller :</b>
  15. <script language="javascript">creerselect();</script>
  16. <br>
  17. <b>Date retour :</b>
  18. <script language="javascript">creerselect2();</script>


 
Le souci c'est que je débute en javascript. La fonction creerselect2() me permet d'afficher 3 liste déroulante permettant de selectionner le jour/mois/annee. Donc je voudrai que ces 3 listes se désactivent quand je click sur aller simple
 
voici le code la fonction creer select (assez complexe) :

Code :
  1. function creerselect2(){
  2. // Création de la liste déroulante des numéros des jours
  3. document.write("<select name='jj2'>" );
  4. for(i=1;i<=31;i++){
  5.    document.write("<option value="+i);
  6.    if(aujour.getDate()==i){document.write(" selected" );}
  7.    document.write(">"+i+"</option>" );
  8. }
  9. document.write("</select>" );
  10. // Création de la liste déroulante des libellés des mois
  11. document.write("<select name='mm2'>" );
  12. for(i=0;i<=11;i++){
  13.    document.write("<option value="+i);
  14.    if(aujour.getMonth()==i){document.write(" selected" );}
  15.    document.write(">"+mois[i]+"</option>" );
  16. }
  17. document.write("</select>" );
  18. // Création de la liste déroulante des années  
  19. annee=aujour.getYear();if(annee<1900){annee=annee+1900;}
  20. document.write("<select name='aa2'>" );
  21. for(i=-1;i<=0;i++){
  22.    document.write("<option value="+(annee-i));
  23.    if(i==0){document.write(" selected" );}
  24.    document.write(">"+(annee-i)+"</option>" );
  25. }
  26. document.write("</select>" );


 
merci de votre aide


Message édité par cyberP@cal le 25-01-2007 à 02:01:46
mood
Publicité
Posté le 25-01-2007 à 01:55:42  profilanswer
 

n°1507001
olivthill
Posté le 25-01-2007 à 08:11:06  profilanswer
 

Il suffit de changer la proriété visibility.

<html>
<head>
 
<script language="javascript">
function creerselect2()
{
  aujour=new Date();
  var mois=new Array(12);
  mois[0]="janvier"; mois[1]="février"; mois[2]="mars";
  mois[3]="avril"; mois[4]="mai"; mois[6]="juin";
  mois[6]="juillet"; mois[7]="aout"; mois[8]="septembre";
  mois[9]="octobre"; mois[10]="novembre"; mois[11]="décembre";
 
  // Création de la liste déroulante des numéros des jours
  document.write("<select name='jj2'>" );
  for(i=1;i<=31;i++) {
     document.write("<option value="+i);
     if (aujour.getDate()==i) {document.write(" selected" );}
     document.write(">"+i+"</option>" );
  }
  document.write("</select>" );
   
  // Création de la liste déroulante des libellés des mois
  document.write("<select name='mm2'>" );
  for(i=0;i<=11;i++) {
     document.write("<option value="+i);
     if (aujour.getMonth()==i) {document.write(" selected" );}
     document.write(">"+mois[i]+"</option>" );
  }
  document.write("</select>" );
 
  // Création de la liste déroulante des années
  annee=aujour.getYear();
  if(annee<1900){annee=annee+1900;}
  document.write("<select name='aa2'>" );
  for(i=-1;i<=0;i++){
     document.write("<option value="+(annee-i));
     if(i==0){document.write(" selected" );}
     document.write(">"+(annee-i)+"</option>" );
  }
  document.write("</select>" );
}
 
function show_hide_date2()
{
   if (document.form1.type[0].checked==true) {
     document.getElementById('jj2').style.visibility='hidden';
     document.getElementById('mm2').style.visibility='hidden';
     document.getElementById('aa2').style.visibility='hidden';
   }
   else {
     document.getElementById('jj2').style.visibility='visible';
     document.getElementById('mm2').style.visibility='visible';
     document.getElementById('aa2').style.visibility='visible';
   }
}
 
</script>
</head>
<body>
 
<form name=form1>
Aller simple :<INPUT TYPE='RADIO' NAME='type' VALUE='as' onClick="show_hide_date2();">
<br>
Aller-retour : <INPUT TYPE='RADIO' NAME='type' VALUE='ar' checked onClick="show_hide_date2();">
 
<script language="javascript">creerselect2();</script>
</form>
 
</body>
</html>

Voilà le travail  :)

n°1507066
cyberP@cal
Posté le 25-01-2007 à 11:25:44  profilanswer
 

merci mais ca ne fonctionne pas avec firefox, et avec ie sa marche uniquement avec ton code uniquement, des je l'integre dans ma page sa marche plus ...

n°1507070
cyberP@cal
Posté le 25-01-2007 à 11:33:42  profilanswer
 

je redonne ma page entiere pour que vous comprenais mieux:  
 

Code :
  1. <?php
  2. require("Util.php" );
  3. //  require ("JournalVisiteurs.php" );
  4. Entete ("Easy Way", "Easy Way" );
  5. // Connexion à la base
  6. $connexion = mysql_pconnect (SERVEUR, NOM, PASSE);
  7. if (!$connexion)
  8. {
  9.   echo "Désolé, connexion à " . SERVEUR . " impossible\n";
  10.   exit;
  11. }
  12. if (!mysql_select_db (BASE, $connexion))
  13. {
  14.   echo "Désolé, accès à la base " . BASE . " impossible\n";
  15.   exit;
  16. }
  17. date_default_timezone_set("Europe/Paris" ) ;
  18. ?>
  19. <HTML>
  20. <HEAD>
  21. <TITLE>Réserver un vol</TITLE>
  22. <LINK REL=stylesheet HREF="vol.css" TYPE="text/css">
  23. <script language="javascript">
  24. <!--
  25. aujour=new Date(); // Pour générer les années
  26. // table des libellés des mois
  27. mois=new Array("Janvier","Février","Mars","Avril","Mai","Juin","Juillet","Août",
  28. "Septembre","Octobre","Novembre","Décembre" );
  29. // Création des select pour les vols de départ
  30. function creerselect(){
  31. // Création de la liste déroulante des numéros des jours
  32. document.write("<select name='jj'>" );
  33. for(i=1;i<=31;i++){
  34.    document.write("<option value="+i);
  35.    if(aujour.getDate()==i){document.write(" selected" );}
  36.    document.write(">"+i+"</option>" );
  37. }
  38. document.write("</select>" );
  39. // Création de la liste déroulante des libellés des mois
  40. document.write("<select name='mm'>" );
  41. for(i=0;i<=11;i++){
  42.    document.write("<option value="+i);
  43.    if(aujour.getMonth()==i){document.write(" selected" );}
  44.    document.write(">"+mois[i]+"</option>" );
  45. }
  46. document.write("</select>" );
  47. // Création de la liste déroulante des années  
  48. annee=aujour.getYear();if(annee<1900){annee=annee+1900;}
  49. document.write("<select name='aa'>" );
  50. for(i=-1;i<=0;i++){
  51.    document.write("<option value="+(annee-i));
  52.    if(i==0){document.write(" selected" );}
  53.    document.write(">"+(annee-i)+"</option>" );
  54. }
  55. document.write("</select>" );
  56. }
  57. // Création des select pour les vols de d'arrivé
  58. function creerselect2(){
  59. // Création de la liste déroulante des numéros des jours
  60. document.write("<select name='jj2'>" );
  61. for(i=1;i<=31;i++){
  62.    document.write("<option value="+i);
  63.    if(aujour.getDate()==i){document.write(" selected" );}
  64.    document.write(">"+i+"</option>" );
  65. }
  66. document.write("</select>" );
  67. // Création de la liste déroulante des libellés des mois
  68. document.write("<select name='mm2'>" );
  69. for(i=0;i<=11;i++){
  70.    document.write("<option value="+i);
  71.    if(aujour.getMonth()==i){document.write(" selected" );}
  72.    document.write(">"+mois[i]+"</option>" );
  73. }
  74. document.write("</select>" );
  75. // Création de la liste déroulante des années  
  76. annee=aujour.getYear();if(annee<1900){annee=annee+1900;}
  77. document.write("<select name='aa2'>" );
  78. for(i=-1;i<=0;i++){
  79.    document.write("<option value="+(annee-i));
  80.    if(i==0){document.write(" selected" );}
  81.    document.write(">"+(annee-i)+"</option>" );
  82. }
  83. document.write("</select>" );
  84. }
  85. // Vérification des select
  86. function verif(){
  87. // On crée une date avec les jj/mm/aa saisis
  88. testDate=new Date(document.frm.aa.value,document.frm.mm.value,document.frm.jj.value);
  89. testDate2=new Date(document.frm.aa2.value,document.frm.mm2.value,document.frm.jj2.value);
  90. mess="";
  91. // Est-ce le numéro du jour correspond à  celui de la date créée ?
  92. if(testDate.getDate()!=document.frm.jj.value){mess="Veillez verifier la date de départ";}
  93. if(testDate2.getDate()!=document.frm.jj2.value){mess="Veillez verifier la date d'arrivée";}
  94. // Est-ce le numéro du mois correspond à celui de la date créée ?
  95. if(testDate.getMonth()!=document.frm.mm.value){mess="Veillez verifier la date de départ";}
  96. if(testDate2.getMonth()!=document.frm.mm2.value){mess="Veillez verifier la date d'arrivée";}
  97. // Y a-t-il eu des erreurs ?
  98. if(mess!="" )
  99. {
  100. alert(mess);
  101. document.frm.jj.focus();
  102. document.frm.jj2.focus();
  103. return false;
  104. }
  105.  
  106. else {
  107. if(document.frm.depart.value == document.frm.arrive.value) 
  108. {
  109.    alert("Veillez choisir une ville de départ differente de celle d'arrivée" );
  110.    document.frm.depart.focus();
  111.    return false;
  112. }
  113. }
  114. //-->
  115. </script>
  116. </HEAD>
  117. <BODY>
  118. <H1><center>Bienvenue sur le site Easy Way</center></H1>
  119. <br>
  120. <br>
  121. <form name="frm" action="rechercheVol.php" method="post" onSubmit="return verif()">
  122. <div class="conteneur2">
  123. <div class="centre2">
  124. <FONT COLOR="#ffffff">
  125. <b>Votre voyage</b> </FONT>
  126. </div>
  127. <p>
  128. <div class="conteneur1">
  129. <div class="centre1">
  130. <?php
  131. $resultat = mysql_query ("SELECT * FROM depart order by nomDepart", $connexion);
  132. echo "<b>Partir de :</b>
  133. <SELECT NAME='depart' SIZE=1>";
  134. if ($resultat)
  135. {
  136.   while ($dep = mysql_fetch_object ($resultat))
  137.     {
  138.   //$i=$i+1;
  139.   echo "<OPTION VALUE=$dep->numDepart>$dep->nomDepart";
  140.     }
  141. }
  142. else
  143.   echo "<B>Erreur dans l'exécution de la requête.</B><BR>";
  144.   echo "<B>Message de MySQL :</B> " .  mysql_error($connexion);
  145. echo "</SELECT><p>";
  146. $resultat2 = mysql_query ("SELECT * FROM arrive order by nomArrive", $connexion);
  147. echo "<b>Arriver à :</b>
  148. <SELECT NAME='arrive' SIZE=1>";
  149. if ($resultat2)
  150. {
  151.   while ($arr = mysql_fetch_object ($resultat2))
  152.     {   
  153.   echo "<OPTION VALUE=$arr->numArrive>$arr->nomArrive";
  154.     }
  155. }
  156. else
  157.   echo "<B>Erreur dans l'exécution de la requête.</B><BR>";
  158.   echo "<B>Message de MySQL :</B> " .  mysql_error($connexion);
  159. echo "</SELECT>";
  160. ?>
  161.  
  162.  
  163. <P>
  164.   Aller simple :<INPUT TYPE='RADIO' NAME='type' VALUE='as' checked>
  165.   Aller-retour : <INPUT TYPE='RADIO' NAME='type' VALUE='ar' > &nbsp;
  166. </div>
  167. <p>
  168. <div class="conteneur2">
  169. <div class="centre2">
  170. <FONT COLOR="#ffffff">
  171. <b>Précisez</b> </FONT>
  172. </div>
  173. <p>
  174. <div class="conteneur1">
  175. <div class="centre1">
  176. <b>Date aller :</b>
  177. <script language="javascript">creerselect();</script>
  178. <br>
  179. <b>Date retour :</b>
  180. <script language="javascript">creerselect2();</script>
  181.  
  182. <P>
  183.   Nombre de personnes <FONT COLOR="#ff0000">(15 ans et +) </font>:
  184.   <SELECT NAME='nbPers' SIZE=1>
  185.   <OPTION VALUE=1>1
  186.   <OPTION VALUE=2>2
  187.   <OPTION VALUE=3>3
  188.   <OPTION VALUE=4>4
  189.   <OPTION VALUE=5>5
  190.   <OPTION VALUE=6>6
  191.   </SELECT>
  192.  
  193.   <p>
  194.   Nombre d'enfants <FONT COLOR="#ff0000">(- de 15 ans) </font>:
  195.   <SELECT NAME='nbEnf' SIZE=1>
  196.   <OPTION VALUE=1>0 
  197.   <OPTION VALUE=2>1
  198.   <OPTION VALUE=3>2
  199.   <OPTION VALUE=4>3
  200.   <OPTION VALUE=5>4
  201.   <OPTION VALUE=6>5
  202.   </SELECT>
  203. </div>
  204. <p>
  205. <div class="conteneur2">
  206. <div class="centre2">
  207. <FONT COLOR="#ffffff">
  208. <b>Votre choix</b> </FONT>
  209. </div>
  210. <p>
  211. </form>
  212.   <INPUT TYPE='SUBMIT' VALUE='Rechercher un vol'>
  213.   <INPUT TYPE='RESET' VALUE='Annuler'>
  214. <p>
  215.  
  216. </BODY></HTML>
  217. <?php
  218.   PiedDePage();
  219. ?>


 
Je voudrai que sa fasse un peu comme sur le site d'air france : http://www.airfrance.fr/cgi-bin/AF [...] dgfndfkj.0
 
Quand on click sur aller simple le select des dates se désactive.

n°1507085
omega2
Posté le 25-01-2007 à 12:13:04  profilanswer
 

Si t'as une page qui fonctionne de cette maniére là, alors pourquoi tu ne regarde pas le code javascript de la dite page afin de l'adapter à la tienne?

n°1507109
olivthill
Posté le 25-01-2007 à 13:38:47  profilanswer
 

Pour que ça marche sous Firefox, il faudrait utiliser "id=..." au lieu ou en plus de "name=..." pour tous les éléments qui sont impliqués dans les getElementById().


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  HTML/CSS

  [javascript] désactiver une liste déroulante en cochant 1 bouton radio

 

Sujets relatifs
[Javascript/HTML] balise <object> et javascipt[Html,css,javascript] Gallerie Lightbox
Variable avec Javascript divun bouton.. deux actions !... sans javascript !
Un Javascript pour changer l'ordre des TD dans un TABLERécupérer la date et l'heure du système en javascript
pblm javascript simple[JAVASCRIPT] Previsualisation prix TTC
[C] Liste chaibee Double Probleme 
Plus de sujets relatifs à : [javascript] désactiver une liste déroulante en cochant 1 bouton radio


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR