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

  FORUM HardWare.fr
  Programmation
  HTML/CSS

  [Résolu]Récupérer la valeur d'un radiobutton

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Résolu]Récupérer la valeur d'un radiobutton

n°1291730
swoosh2002
Posté le 25-01-2006 à 11:07:18  profilanswer
 

Voilà, je me casse la tête sur un problème depuis 2h, c'est récupérer la valeur d'un radio button pour pouvoir afficher ou non une zone dans la page html. Je voudrais juste afficher la zone quand le 1er bouton et coché et ne pas l'afficher ou ne plus l'afficher quand c'est les autres, il y a 3 boutons en tout.
 
ma fonction :
 
 function affcarte()
 {
  for (zi=0;zi<carte_coche.length;zi++)
  {
   if (carte_coche[zi].checked==true)
   {
    if (carte_coche[zi].value=="0" )
    {
     document.getElementById("zonecarte" ).style.display="block";
     document.getElementById("zonetablo" ).style.display="block";
    }
    else
    {
     document.getElementById("zonecarte" ).style.display="none";
     document.getElementById("zonetablo" ).style.display="none";
    }
   }
  }
 }
 
 
Récupération du bouton :
 
 var carte_coche = document.getElementById("confirme" );
 carte_coche.onclick = affcarte;
 
Un exemple de mes boutons :
 
 <li><input type=\"radio\" id=\"confirme\" name=\"confirme\" value=\"0\" />$LANG_carte</li>
 
 
Merci beaucoup de votre aide !


Message édité par swoosh2002 le 25-01-2006 à 14:16:22
mood
Publicité
Posté le 25-01-2006 à 11:07:18  profilanswer
 

n°1291753
swoosh2002
Posté le 25-01-2006 à 11:32:09  profilanswer
 

SI ca peut en aider certains dans la resolution du probleme, on me dit que "carte_coche has no proprieties"...

n°1291802
omega2
Posté le 25-01-2006 à 11:57:29  profilanswer
 

Ca vient d'où "carte_coche" et ca contient quoi "carte_coche"?
En gros, tu le remplis comment?

n°1291816
swoosh2002
Posté le 25-01-2006 à 12:15:00  profilanswer
 

carte_coche c'est un get element by id de "confirme" je l'ai marké

n°1291862
omega2
Posté le 25-01-2006 à 12:52:23  profilanswer
 

un id est unique, et getElementById retourne tout logiquement un seul élément. Si t'as deux éléments qui ont le même id, alors c'est que t'as une grosse erreur dans ta page et rien ne permet de deviner quel élément sera retourné par getElementById si plusieurs ont le même "id". En tout cas, il ne te retournera jamais un tableau d'élément.
 
carte_coche ne peux donc pas être un tableau, c'est donc normal que ca merde quand tu le traites comme un tableau.
 
Utilise donc "getElementsByName" si tu veux un tableau des éléments dont le nom est untel.
 
PS : Si j'ai pas vu que t'avais mis ton initialisation à la fin du message, c'est par ce que d'habitude on indique l'initilisation en premier et que comme tu n'as pas utilisé la balise [code] du forum, je n'ai pas vu que t'avais mis dans ton message du code suivit d'explications suivit de code suivit d'explications ...
 
EDIT : PS2 : Et si tu mettais le code html de l'élément tel que reçu par le navigateur plustôt qu'un bout de code mélangeant du php et dans lequel on ne voit pas comment t'as commencé ton texte? Ca permettrait de voir s'il ne traine pas de caractére bidon là où il ne faut pas.


Message édité par omega2 le 25-01-2006 à 12:54:50
n°1291890
swoosh2002
Posté le 25-01-2006 à 13:31:15  profilanswer
 

Merci pour le conseil et excuse moi pour la mise en page du code, j'ai pas l'habitude de trop poster sur ce forum... par contre j'ai changé ma méthode mais il y a toujours un probleme, quand je suis sous ie je peux cocher tous les boutons (et les autres ne se décochent pas), et sous firefox, une fois que j'en ai coché un, je ne peux plus cocher les autres.
 
Mon code :
 
<input type=\"radio\" id=\"confirme1\" name=\"confirme1\" value=\"0\" onclick=\"affcarte()\" />
 
var c1 = document.getElementById("confirme1" );
 
 function affcarte()
 {
  if (c1.checked==true)
  {
  c2.checked=false;
  c3.checked=false;
  document.getElementById("zonecarte" ).style.display="block";
  document.getElementById("zonetablo" ).style.display="block";
  }
  if (c2.checked==true)
  {
  c1.checked=false;
  c3.checked=false;
  document.getElementById("zonecarte" ).style.display="none";
  document.getElementById("zonetablo" ).style.display="none";
  }
  if (c3.checked==true)
  {
  c1.checked=false;
  c2.checked=false;
  document.getElementById("zonecarte" ).style.display="none";
  document.getElementById("zonetablo" ).style.display="none";
  }
 }
 
 
Comme précédemment j'ai pas mi toutes les valeurs parceque c'est trop long a selectionner a cause des balises php et des autres fonctions, c'est juste pour te montrer comment j'ai fait. J'ai utilisé des id et des names différents pour chaque bouton.
 
Merci !  :hello:


Message édité par swoosh2002 le 25-01-2006 à 13:32:10
n°1291927
swoosh2002
Posté le 25-01-2006 à 14:16:07  profilanswer
 

C'est bon j'ai trouvé, en fait il ne fallait pas mettre les "=false" car il le fait de base comme ils ont le meme Name, c'est ca qui fesait tout foirer...
 
merci beaucoup quand meme !
 
 
le code corrigé :
 
 
 
 
function affcarte()  
 {  
  if (c1.checked==true)  
  {  
  document.getElementById("zonecarte" ).style.display="block";  
  document.getElementById("zonetablo" ).style.display="block";  
  }  
  if (c2.checked==true)  
  {  
  document.getElementById("zonecarte" ).style.display="none";  
  document.getElementById("zonetablo" ).style.display="none";  
  }  
  if (c3.checked==true)  
  {  
  document.getElementById("zonecarte" ).style.display="none";  
  document.getElementById("zonetablo" ).style.display="none";  
  }  
 }  

n°1291932
gatsu35
Blablaté par Harko
Posté le 25-01-2006 à 14:23:18  profilanswer
 

tu aimes te compliquer la vie hein ?
 

Code :
  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  2. <html>
  3. <head>
  4.     <title></title>
  5.     <script type="text/javascript">
  6.     function affcarte(checkbox){
  7.         if (checkbox.checked==true && checkbox.id=="confirme1" ) {
  8.             document.getElementById("zonecarte" ).style.display = "block";
  9.             document.getElementById("zonetablo" ).style.display = "block";
  10.         }
  11.         else {
  12.             document.getElementById("zonecarte" ).style.display = "none";
  13.             document.getElementById("zonetablo" ).style.display = "none";    
  14.         }
  15.     }
  16.     </script>
  17. </head>
  18. <body>
  19. <input type="radio" name="confirme" id="confirme1" value="1" onclick="affcarte(this)"><label for="confirme1">Ta mere</label>
  20. <input type="radio" name="confirme" id="confirme2" value="2" onclick="affcarte(this)"><label for="confirme2">Ton mere</label>
  21. <input type="radio" name="confirme" id="confirme3" value="3" onclick="affcarte(this)"><label for="confirme3">Tes freres et tes soeurs</label>
  22. <div id="zonecarte">Zone carte</div>
  23. <div id="zonetablo">Zone tablo</div>
  24. </body>
  25. </html>

n°1291935
gatsu35
Blablaté par Harko
Posté le 25-01-2006 à 14:26:03  profilanswer
 

eet on va faire simple sur le fonctionnement des boutons radio :  
Si les boutons radio on le même nom (Name)
alors il n'y aura qu'un seul bouton radio de sélectionné à la fois.
s'il n'ont pas le meme noms, alors ils sont différents.
 
si tu veux faire un système de choix ou on peut faire plusieurs choix comme :  
cocher le 1 et cocher le 2
alors il faut utiliser les checkbox,  
 
parce que par convention :
checkbox = choix multiples
radio = choix unique


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

  [Résolu]Récupérer la valeur d'un radiobutton

 

Sujets relatifs
Outils grisé mais fonctionnel ! [Résolu][Résolu]pb d'execution de programme
Récupérer des imbrications multiples dans une table MySQLProblème pour récupérer donnée en php
Recuperer valeur d'une liste deroulante en javascriptvbs changer valeur dword
[Open GL] Avis aux pros : comment faire de belles ombres? [Résolu][resolu]pb requete sql sur des champs date et time
[résolu] Sécurité base de données avec PHP 
Plus de sujets relatifs à : [Résolu]Récupérer la valeur d'un radiobutton


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