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