Aide Javascript (Bouton Radio à vérifier)

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
Configuration: Windows XP Internet Explorer 7.0

6 réponses

  1. <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. 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 ?
      1. 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 ^^)
        1. Toujours pas.
          Et ma fonction te parait juste ?
          Sinon comment tu ferais toi si tu devais controler des input de ce type?
          1. Super Alain_42,
            Je me note les erreurs de cette fois pour la prochaine fois.
            Tout fonctionne comme je l'attendais je te remercie