Verifier qu'un radio button est coché

Résolu
jordxn Messages postés 375 Statut Membre -  
jordxn Messages postés 375 Statut Membre -
Bonjour,
J'arrive pas a tester si un radio button est coché...

	var allerRetour=document.getElementById('allerRetour');
var aller=document.getElementById('aller');

if(aller.checked==true) {
alert('cocher');
}
}

Aller retour <input type="radio" name="aller" id="allerRetour" onClick="GereControle('allerRetour', 'retour', '1');" checked="checked"><br/>
Simple aller <input type="radio" name="aller" id="aller" onClick="GereControle('allerRetour', 'retour', '1');">


Merci de m'aider

7 réponses

  1. jordxn Messages postés 375 Statut Membre 1
     
    Up please
    0
  2. Utilisateur anonyme
     
    salut tu peux faire :

    <form>
       <label>Aller retour</label>
       <input type="radio" name="trajet" value="AR" checked="checked" />
       <br />
       <label>Aller simple</label>
       <input type="radio" name="trajet" value="AS" />
       <br />
    
      </form>
      <script type="text/javascript">
       var trajets = document.getElementsByName("trajet");
       trajets[0].onclick = function(){
        alert("cocher");
       }
      </script>
    


    si tu veux vraiment vérifier qu'il est coché

    <form>
    			<label>Aller retour</label>
    			<input type="radio" name="trajet" value="AR" checked="checked" />
    			<br />
    			<label>Aller simple</label>
    			<input type="radio" name="trajet" value="AS" />
    			<br />
    
    		</form>
    		<script type="text/javascript">
    			var trajets = document.getElementsByName("trajet");
    			trajets[0].onclick = function(){
    				if(this.value == "AR" && this.checked){
    					alert("cocher")
    				}
    			}
    		</script>
    

    (¯'·.¸¸.·'¯'·.¸¸.-> <-.¸¸.·'¯'·.¸¸.·'¯)
    0
  3. Utilisateur anonyme
     
    non mauvais exemple désolé

    <form>
    			<label>Aller retour</label>
    			<input type="radio" name="trajet" value="AR" checked="checked" />
    			<br />
    			<label>Aller simple</label>
    			<input type="radio" name="trajet" value="AS" />
    			<br />
    			<input type="submit" id="sub" />
    		</form>
    		<script type="text/javascript">
    			var trajets = document.getElementsByName("trajet");
    			var sub = document.getElementById("sub");
    			sub.onclick = function() {
    				if (trajets[0].value == "AR" && trajets[0].checked) {
    					alert("cocher")
    				}
    			}
    		</script>
    

    0
    1. jordxn Messages postés 375 Statut Membre 1
       
      Bonjour,


      Merci de votre réponse, cependant cela ne fonctionne pas...


      function validerAnnonce(){
      var aller = document.getElementsByName("aller");
      var envoi = document.getElementById("envoi");

      envoi.onclick = function() {
      if (aller[0].value == "allerRetour" && aller[0].checked) {
      alert("cocher");
      return false;
      }
      }
      }




        Aller retour <input type="radio" name="aller" id="allerRetour" onClick="GereControle('allerRetour', 'retour', '1');" checked="checked"><br/>
      Simple aller <input type="radio" name="aller" id="allerSimple" onClick="GereControle('allerRetour', 'retour', '1');">
      <p><center><input name="envoi" type="submit" id='envoie' value="Valider" /></center></p><br/>



      Configuration: Windows 7 / Chrome 32.0.1700.107
      0
  4. Noggen
     
    chez moi ça fonctionne... tu as essayé de faire

    alert (document.getElementbyId("aller").checked); ?

    tu verra peut-être d'ou vient le problême.
    0
    1. jordxn Messages postés 375 Statut Membre 1
       
      Le mien ne fonctionne pas :



      <script>
      function validerAnnonce(){
      var aller = document.getElementsByName("aller");
      var envoi = document.getElementById("envoi");

      envoi.onclick = function() {
      if (aller[0].value == "allerRetour" && aller[0].checked) {
      alert("cocher");
      return false;
      }
      return true;
      }
      }
      </script>


      <form action="index.php" onclick="return validerAnnonce();">
      Aller retour <input type="radio" name="aller" id="allerRetour" value="allerRetour" onClick="GereControle('allerRetour', 'retour', '1');" checked="checked"><br/>
      Simple aller <input type="radio" name="aller" id="allerSimple" value="allerSimple" onClick="GereControle('allerRetour', 'retour', '1');">
      <p><center><input name="envoi" type="submit" id='envoie' value="Valider" /></center></p><br/>

      </form>
      0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Utilisateur anonyme
     
    salut,

    si je prends ton code :

    dans tes inputs type radio tu appelle une fonction GereControle

    mais ton code se trouve dans function validerAnnonce(){

    je te conseil de lire cela http://fr.openclassrooms.com/informatique/cours/dynamisez-vos-sites-web-avec-javascript/la-portee-des-variables-1

    Ensuite si tu souhaite que ton formulaire ne soit pas validé si la case est coché et qu'il le soit si elle ne l'est pas tu pourrais faire cela :

    il faut mettre le javascript a la fin de la page, juste avant la balise fermante body

     <body>
    
    		<form action="index.php" id="formulaire" method="post">
    			<label for="allerRetour">Aller retour</label>
    			<input type="radio" name="aller" id="allerRetour" value="allerRetour"  checked="checked" />
    			<br/>
    			<label for="allerSimple">Simple aller</label>
    			<input type="radio" name="aller" id="allerSimple" value="allerSimple" />
    
    			<input type="submit" id='envoi' value="Valider" />
    
    			<br/>
    
    		</form>
    		<script type="text/javascript">
    			// on définit les variables
    			var aller = document.getElementsByName("aller");
    			var form = document.getElementById("formulaire");
    			var envoi = document.getElementById("envoi");
    			//on fait une fonction de compatibilité entre navigateurs
    			function evenement(el, event, func) {
    				if (el.addEventListener) {
    					el.addEventListener(event, func, false);
    				} else {
    					el.attachEvent('on' + event, func);
    				}
    			}
    
    			//on utilise addEventListener
    			evenement(envoi, 'click', function(e) {
    				if (aller[0].value == "allerRetour" && aller[0].checked) {
    					alert("cocher et pas de validation");
    					e.preventDefault();
    					// on empeche la validation
    				} else {
    					alert("envoi du formulaire");
    					form.submit();
    					// on valide le formulaire
    				}
    			});
    		</script>
    	</body>
    


    (¯'·.¸¸.·'¯'·.¸¸.-> <-.¸¸.·'¯'·.¸¸.·'¯)
    0
    1. jordxn Messages postés 375 Statut Membre 1
       
      Bonjour merci de votre réponse , et donc en faisant cela, ma fonction appeler :
      onClick="GereControle('allerRetour', 'retour', '1')"; marcherai t'elle toujours ? (ou bien faut-il passé egalement pas addEventListener ??

      Merci
      0
  7. Utilisateur anonyme
     
    salut en fait tu souhaite ouvrir une pop up lorsque l'on clique quelque part dans le formulaire ?

    Donne voir tout ton code (enfin ce qui est nécéssaire ) pour que l'on comprenne mieux a quoi sert GereControle
    0
    1. jordxn Messages postés 375 Statut Membre 1
       
      GereControle permet de montrer ou cacher une div en fonction du choix du radio button :


      // ==================
      
      // Activations - Désactivations
      // ==================
      function GereControle(Controleur, Controle, Masquer) {
      var objControleur = document.getElementById(Controleur);
      var objControle = document.getElementById(Controle);
      if (Masquer=='1')
      objControle.style.visibility=(objControleur.checked==true)?'visible':'hidden';
      else
      objControle.disabled=(objControleur.checked==true)?false:true;
      return true;
      }
      0
  8. Utilisateur anonyme
     
    je pense que cela devrait fonctionner...essaye et si sa fonctionne pas on essaira de faire pour :)
    0
    1. jordxn Messages postés 375 Statut Membre 1
       
      Bonjour,
      Quand je l'adapte a mon code ça beug ..

      <script type="text/javascript">
      // on définit les variables
      var aller = document.getElementsByName("aller");
      var form = document.getElementById("annonce");
      var envoi = document.getElementById("envoi");
      //on fait une fonction de compatibilité entre navigateurs

      function evenement(el, event, func) {
      if (el.addEventListener) {
      el.addEventListener(event, func, false);
      } else {
      el.attachEvent('on' + event, func);
      }
      }

      //on utilise addEventListener
      evenement(envoi, 'click', function(e) {
      if (aller[0].value == "allerRetour" && aller[0].checked) {
      alert("cocher et pas de validation");
      e.preventDefault();
      // on empeche la validation
      } else {
      alert("envoi du formulaire");
      form.submit();
      // on valide le formulaire
      }
      });
      </script>

      <form name='annonce' id="annonce" method="post">
      <span>Trajet : </span><br/>
      <div class="espacement">
      Aller retour <input type="radio" name="aller" id="allerRetour" checked="checked"><br/>
      Simple aller <input type="radio" name="aller" id="allerSimple" >
      </div>
      <p><center><input type="submit" name="envoi" id='envoi' value="Valider" /></center></p><br/>
      </form>
      0
    2. Utilisateur anonyme
       
      il faut mettre le javascript a la fin de la page, juste avant la balise fermante body
      0
    3. jordxn Messages postés 375 Statut Membre 1
       
      ça me met l'alerte envoi du formulaire quand je coche n'importe laquelle :(
      0
    4. Utilisateur anonyme
       
      c'est normal tu n'a pas mis de value dans les radio

      http://pour-ccm.zz.mu/ccm.html
      0
    5. jordxn Messages postés 375 Statut Membre 1
       
      Merci , j'ai envie réussi grâce a votre aide !
      0