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

6 réponses

  1. Alain_42 Messages postés 5413 Statut Membre 904
     
    <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
  2. jeangilles Messages postés 816 Date d'inscription   Statut Membre Dernière intervention   186
     
    C'est pas onclick sur le form, mais onsubmit
    0
  3. 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
  4. 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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. 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
  7. 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