Aide Javascript (Bouton Radio à vérifier)

Fermé
moderno31 Messages postés 870 Date d'inscription mardi 23 juin 2009 Statut Membre Dernière intervention 8 août 2012 - 2 juil. 2009 à 16:13
moderno31 Messages postés 870 Date d'inscription mardi 23 juin 2009 Statut Membre Dernière intervention 8 août 2012 - 2 juil. 2009 à 16:49
Bonjour,
Je n'arrive pas à faire fonctionner un script de vérification d'un formulaire en HTML (page1.html) :
<form name="Choix_metapays" action="test_profil_user_dept.php" method="POST" onClick="javascript:Controle();">
<p><input type="radio" name="LibMetaPays" value="1">France
<input type="radio" name="LibMetaPays" value="2" >Etranger
<input type="submit" name="insertDBValue" value="Suivant"></p>
</form>

Script Controle() entre les balises head :
<script language="JavaScript" type="text/JavaScript">
function controle(){
var radio_choice = false;
for(counter = 0; counter < formulaire.choix_metapays.lenght;counter++){
if(formulaire.choix_metapays[counter].checked)
radio_choice = true;
}
if (!radio_choice){
alert("choisir un pays");
return (false);
}
return (true);
}

</script>

Quand je clique sur le bouton il ne se passe rien. Tout simplement je veux empêcher de poursuivre si on choisit pas le pays.

Qui peut m'aider à y voir plus clair serait sympa. Merci
A voir également:

6 réponses

Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
2 juil. 2009 à 16:44
<form name="Choix_metapays" action="test_profil_user_dept.php" method="POST" onSubmit="return controle();">
<p><input type="radio" name="LibMetaPays" id="LibMetaPays_1" value="1">France
<input type="radio" name="LibMetaPays" id="LibMetaPays_2" value="2" >Etranger
<input type="submit" name="insertDBValue" value="Suivant"></p>
</form>

<script language="JavaScript" type="text/JavaScript">
function controle(){
	//attention tu avais mis une majuscule a controle pour l'appel de la fonction, la casse est importante
	// Controle et controle sont deux fonctions differentes !
	//on va acceder à l'objet radio par leur id  et verifier qu'au moins un est checked (si le 1 n'est pas coché ET le 2 n'est pas coché => Alert
	if(document.getElementById('LibMetaPays_1').checked != true && document.getElementById('LibMetaPays_2').checked != true){
	alert("Vous devez faire votre choix !");
	return false;
	}

return (true);
}

</script>
1
jeangilles Messages postés 816 Date d'inscription samedi 21 juin 2008 Statut Membre Dernière intervention 17 juillet 2012 186
2 juil. 2009 à 16:18
C'est pas onclick sur le form, mais onsubmit
0
moderno31 Messages postés 870 Date d'inscription mardi 23 juin 2009 Statut Membre Dernière intervention 8 août 2012 92
2 juil. 2009 à 16:21
D'acc c'est vrai. J'ai corrigé
onSubmit="javascript:Controle();"
ça fait toujours pareil..
Au niveau du formulaire
Je me souviens de 2 notations
onSubmit="javascript:Controle();"
et
onSubmit="return Controle();"
Tu as une idée ?
0
jeangilles Messages postés 816 Date d'inscription samedi 21 juin 2008 Statut Membre Dernière intervention 17 juillet 2012 186
2 juil. 2009 à 16:23
onSubmit="return Controle();" permet, si c'est faux, de ne pas valider le formulaire, c'est donc celui là qu'il faut mettre (enfin je crois ^^)
0

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

Posez votre question
moderno31 Messages postés 870 Date d'inscription mardi 23 juin 2009 Statut Membre Dernière intervention 8 août 2012 92
2 juil. 2009 à 16:28
Toujours pas.
Et ma fonction te parait juste ?
Sinon comment tu ferais toi si tu devais controler des input de ce type?
0
moderno31 Messages postés 870 Date d'inscription mardi 23 juin 2009 Statut Membre Dernière intervention 8 août 2012 92
2 juil. 2009 à 16:49
Super Alain_42,
Je me note les erreurs de cette fois pour la prochaine fois.
Tout fonctionne comme je l'attendais je te remercie
0