Récupérer la valeur d'un bouton radio en JS

Récupérer la valeur d'un bouton radio en JS - HTML/CSS - Programmation

Marsh Posté le 29-08-2010 à 13:31:43    

Bonjour,
Je cherche à récupérer la valeur d'un bouton radio coché. J'ai trouvé un code qui marche pour des valeurs numériques (vec une boucle), mais j'aimerais utiliser des valeurs alphabétiques. ET mon adaptation ne marche pas, ça affiche toujours "Navigateur non supporté", quel que soit le bouton coché.
 

Code :
  1. <script language="JavaScript">
  2. function afficherAutre() {
  3. if(document.searchbox_form.navigateur.checked == 'ie')
  4. {
  5. alert("IE" );
  6. }
  7. else if(document.searchbox_form.navigateur.checked == 'ff')
  8. {
  9. alert("Firefox" );
  10. }
  11. else
  12. {
  13. alert("Navigateur non supporté !" );
  14. }
  15. }
  16. </script>


 

Code :
  1. <form name="searchbox_form" action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
  2. Choisissez votre navigateur :<br />
  3. <input type="radio" name="navigateur" value="ie" onclick="afficherAutre();" /> Internet Explorer 7 ou plus<br />
  4. <input type="radio" name="navigateur" value="ff" onclick="afficherAutre();" /> Mozilla Firefox 2 ou plus<br />
  5. </form>


 
Où est-ce que je merde ?


---------------
http://www.aideinfo.com/  Whois adresses IP/domaines le plus évolué !!  FAQ Free Mobile
Reply

Marsh Posté le 29-08-2010 à 13:31:43   

Reply

Marsh Posté le 29-08-2010 à 17:37:10    

Citation :

Unfortunately it's not possible to see at once which radio button in a group the user has checked. You need to go through all radio's and see which one's checked property is true.
(source : http://www.quirksmode.org/js/forms.html#sradio )


 
Voici deux solutions : la première avec une boucle, et la seconde avec un passage de paramètre.

Code :
  1. <html>
  2. <head>
  3. <script language="JavaScript">
  4. function afficherAutre() {
  5.    for (i=0;i<document.searchbox_form.navigateur.length;i++) {
  6.       if (document.searchbox_form.navigateur[i].checked) {
  7.          alert(document.searchbox_form.navigateur[i].value);
  8.          break;
  9.       }
  10.    }
  11. }
  12. function afficherAutre_v2(v) {
  13.   alert(v);
  14. }
  15. </script>
  16. </head>
  17. <body>
  18. <form name="searchbox_form" method="post">
  19. Choisissez votre navigateur :<br />
  20. <input type="radio" name="navigateur" value="ie" onclick="afficherAutre();" /> Internet Explorer 7 ou plus<br />
  21. <input type="radio" name="navigateur" value="ff" onclick="afficherAutre();" /> Mozilla Firefox 2 ou plus<br />
  22. <p>
  23. <input type="radio" name="navigateur_v2" value="ie" onclick="afficherAutre_v2(this.value);" /> Internet Explorer 7 ou plus<br />
  24. <input type="radio" name="navigateur_v2" value="ff" onclick="afficherAutre_v2(this.value);" /> Mozilla Firefox 2 ou plus<br />
  25. </form>
  26. </body>
  27. </html>

Reply

Marsh Posté le 29-08-2010 à 17:54:13    

Reply

Marsh Posté le 29-08-2010 à 23:12:01    

PEtit problème : ça marche impec sur IE7 et Opera, mais pas sur Firefox 3 (pas testé sur les autres, mais probablement pareil). Le problème se situe là :  
 

Code :
  1. div_ie.style.display = "block";
  2.   div_ff.style.display = "none";
  3.   div_opera.style.display = "none";


 

Code :
  1. <div id="div_ie" class="cadre_navig_searchbox" style="display:none;">Code pour IE</div>
  2. <div id="div_ff" class="cadre_navig_searchbox" style="display:none;">Code pour FF</div>


 
Et les Erreurs reportées :  

Citation :

Erreur : div_ie is not defined
Ligne : 25


---------------
http://www.aideinfo.com/  Whois adresses IP/domaines le plus évolué !!  FAQ Free Mobile
Reply

Marsh Posté le 30-08-2010 à 09:57:56    

Essayer

document.getElementById('div_ie').style.display='block';

Reply

Marsh Posté le 30-08-2010 à 11:25:46    

Tu es en train de coder ton site en fonction du navigateur, tu sais que tu es en train de faire n'importe quoi là ?


---------------
Blablaté par Harko
Reply

Marsh Posté le 30-08-2010 à 14:32:42    

olivthill a écrit :

Essayer

document.getElementById('div_ie').style.display='block';



 
Merci, ça marche.
 

gatsu35 a écrit :

Tu es en train de coder ton site en fonction du navigateur, tu sais que tu es en train de faire n'importe quoi là ?


 
Non, je ne fais pas n'importe quoi, car je ne code pas un site complet comme ça. Ca serait complètement con de faire des cadres comme ça sur tout un site.


---------------
http://www.aideinfo.com/  Whois adresses IP/domaines le plus évolué !!  FAQ Free Mobile
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed