Aide Javascript (Bouton Radio à vérifier)

moderno31 Messages postés 900 Statut Membre -  
moderno31 Messages postés 900 Statut Membre -
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 5413 Statut Membre 894
 
<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   Statut Membre Dernière intervention   186
 
C'est pas onclick sur le form, mais onsubmit
0
moderno31 Messages postés 900 Statut Membre 92
 
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   Statut Membre Dernière intervention   186
 
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 900 Statut Membre 92
 
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 900 Statut Membre 92
 
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