Verifier qu'un radio button est coché

Résolu/Fermé
jordxn Messages postés 356 Date d'inscription jeudi 15 avril 2010 Statut Membre Dernière intervention 26 avril 2015 - 20 févr. 2014 à 00:24
jordxn Messages postés 356 Date d'inscription jeudi 15 avril 2010 Statut Membre Dernière intervention 26 avril 2015 - 27 févr. 2014 à 17:32
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

jordxn Messages postés 356 Date d'inscription jeudi 15 avril 2010 Statut Membre Dernière intervention 26 avril 2015 1
20 févr. 2014 à 18:11
Up please
0
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
Utilisateur anonyme
20 févr. 2014 à 19:32
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
jordxn Messages postés 356 Date d'inscription jeudi 15 avril 2010 Statut Membre Dernière intervention 26 avril 2015 1
Modifié par jordxn le 21/02/2014 à 00:33
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
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
jordxn Messages postés 356 Date d'inscription jeudi 15 avril 2010 Statut Membre Dernière intervention 26 avril 2015 1
Modifié par jordxn le 21/02/2014 à 00:39
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

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
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
jordxn Messages postés 356 Date d'inscription jeudi 15 avril 2010 Statut Membre Dernière intervention 26 avril 2015 1
21 févr. 2014 à 10:59
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
Utilisateur anonyme
21 févr. 2014 à 14:13
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
jordxn Messages postés 356 Date d'inscription jeudi 15 avril 2010 Statut Membre Dernière intervention 26 avril 2015 1
21 févr. 2014 à 21:44
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
Utilisateur anonyme
22 févr. 2014 à 08:39
je pense que cela devrait fonctionner...essaye et si sa fonctionne pas on essaira de faire pour :)
0
jordxn Messages postés 356 Date d'inscription jeudi 15 avril 2010 Statut Membre Dernière intervention 26 avril 2015 1
26 févr. 2014 à 01:22
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
Utilisateur anonyme
26 févr. 2014 à 05:59
il faut mettre le javascript a la fin de la page, juste avant la balise fermante body
0
jordxn Messages postés 356 Date d'inscription jeudi 15 avril 2010 Statut Membre Dernière intervention 26 avril 2015 1
Modifié par jordxn le 27/02/2014 à 02:20
ça me met l'alerte envoi du formulaire quand je coche n'importe laquelle :(
0
Utilisateur anonyme
27 févr. 2014 à 06:37
c'est normal tu n'a pas mis de value dans les radio

http://pour-ccm.zz.mu/ccm.html
0
jordxn Messages postés 356 Date d'inscription jeudi 15 avril 2010 Statut Membre Dernière intervention 26 avril 2015 1
27 févr. 2014 à 17:32
Merci , j'ai envie réussi grâce a votre aide !
0