[JS]récupérer valeur d'un input radio?

Résolu/Fermé
ApoKps Messages postés 140 Date d'inscription jeudi 25 janvier 2007 Statut Membre Dernière intervention 26 septembre 2008 - 13 avril 2008 à 15:56
 Master&Commander - 21 août 2012 à 10:09
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

chantaussel Messages postés 137 Date d'inscription lundi 17 mars 2008 Statut Membre Dernière intervention 9 juillet 2014 30
13 avril 2008 à 17:44
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
ApoKps Messages postés 140 Date d'inscription jeudi 25 janvier 2007 Statut Membre Dernière intervention 26 septembre 2008 6
13 avril 2008 à 19:06
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
0
Master&amp;Commander
21 août 2012 à 10:09
Merci les gars, vous m'avez enlevé une belle épine du pied
0