[JS]récupérer valeur d'un input radio? [Résolu/Fermé]

Signaler
Messages postés
140
Date d'inscription
jeudi 25 janvier 2007
Statut
Membre
Dernière intervention
26 septembre 2008
-
 Master&Commander -
Salut à tous,

j'ai un problème, je n'arrive pas à récupérer la valeur de mes inputs radio grace à javascript. Aucun pb pour les input text, textarea et select. Je n'ai pas testé les checkbox.

voilà le code html:

<p>
			<label for="natureContrat" id="labelNature">Nature du contrat* :</label>
				<input type="radio" name="natureContrat" value="stage" />Stage
				<input type="radio" name="natureContrat" value="CDD" />CDD
				<input type="radio" name="natureContrat" value="CDI" />CDI
			</p>

el le js

						if((formulaire.natureContrat.value=='CDD')||(formulaire.natureContrat.value=='stage')||(formulaire.natureContrat.value=="CDI")){
							alert(formulaire.natureContrat.value);
							document.getElementById('labelNature').style.color='black';
						}else{
							alert(document.depotStage.natureContrat.value);
							document.getElementById('labelNature').style.color='red';
							erreur=erreur+1;
						}

Les alert(), me renvoie toujours la valeur undefined...
Si quelqu'un trouve mon erreur....
Merci beaucoup d'avance :D

3 réponses

Messages postés
137
Date d'inscription
lundi 17 mars 2008
Statut
Membre
Dernière intervention
9 juillet 2014
31
Salut!

Essaie comme ça :

<p>
  <label for="natureContrat" id="labelNature">Nature du contrat* :</label>
	<input type="radio" name="natureContrat" id="satge" value="stage" />Stage
	<input type="radio" name="natureContrat" id="cdd" value="CDD" />CDD
	<input type="radio" name="natureContrat" id="cdi" value="CDI" />CDI
</p>



et ton script:


stage = document.getElementById('stage').checked;
CDD = document.getElementById('CDD').checked;
CDI = document.getElementById('CDI').checked;

if (stage==true) {
     alert("stage");
}

if (CDD==true) {
     alert("CDD");
}

else {
     alert("CDI");
}


Bon c'est surement un peu laborieux mais je ne vois pas comment faire autrement...

Spontanément j'aurais fait comme toi, avec "value", mais apparemment, pour récupérer les valeurs des boutons radio, faut passer par la propriété "checked", qui renvoie comme valeur "true" (si c'est coché) ou false (si c'est pas coché)

Bon faudrait que quelqu'un confirme, car c'est bizarre qu'on puisse pas passer par "value"...

A+ et bon courage!
15
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 60511 internautes nous ont dit merci ce mois-ci

Messages postés
140
Date d'inscription
jeudi 25 janvier 2007
Statut
Membre
Dernière intervention
26 septembre 2008
6
Merci beaucoup pour ta réponse. Je m'en suis inspiré et l'ai remis à ma sauce, et ça marche :D

Voilà le code si ça t'intéresse (le HTML n'a pas changé, je n'ai pas mis d'id):

		

				if((formulaire.natureContrat[0].checked)||(formulaire.natureContrat[1].checked)||(formulaire.natureContrat[2].checked)){
							document.getElementById('labelNature').style.color='black';
						}else{
							document.getElementById('labelNature').style.color='red';
							erreur=erreur+1;
						}



Merci encore pour ta réponse :D

ApoKps

Merci les gars, vous m'avez enlevé une belle épine du pied
Messages postés
137
Date d'inscription
lundi 17 mars 2008
Statut
Membre
Dernière intervention
9 juillet 2014
31
De rien! et merci d'avoir ton code final, c'est toujours instructif de voir comment font les autres ;)
a+
Merci a vous deux pour ces explications, je planchais sur le sujet depuis 1h déjà.

Merci encore !