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

Résolu
ApoKps Messages postés 140 Date d'inscription   Statut Membre Dernière intervention   -  
 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

chantaussel Messages postés 137 Date d'inscription   Statut Membre Dernière intervention   30
 
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   Statut Membre Dernière intervention   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
0
Master&amp;Commander
 
Merci les gars, vous m'avez enlevé une belle épine du pied
0