Case à cocher obligatoire lors controle JS

Wana -  
avion-f16 Messages postés 19182 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

Je souhaite effectuer un contrôle de saisie en Javascript sur l'E-mail et sur une checkbox qui doit être obligatoirement cochée pour valider le formulaire.
Le contrôle de l'E-mail fonctionne mais pas le contrôle de la case à cocher.

Pouvez-vous m'aider svp ? Toute remarque d'amélioration est la bienvenue !
Merci beaucoup.

Voici le Javascript du Head :

<script type="text/javascript">
function VerifForm(formulaire)
{
adresse = formulaire.adresse_email.value;
var place = adresse.indexOf("@",1);
var point = adresse.indexOf(".",place+1);
if ((place > -1)&&(adresse.length >2)&&(point > 1))
{
return(true);
}
else
{
alert('Veuillez vérifier votre adresse e-mail');
return(false);
}
if (formulaire.case1.checked == true) {
return (true);
formulaire.submit();
}
else
{
alert('Vous devez cocher la case');
return (false);
}
}
</script>

Voici le onsubmit dans le body :

<form method="POST" action="formmail.php" enctype="multipart/form-data" onsubmit="return(VerifForm(this));">

Et au cas où, voici l'imput de la checkbox :

<input type="checkbox" name="case1" id="case1">

Voilà, vous savez tout, merci pour votre aide !

Luc

1 réponse

  1. avion-f16 Messages postés 19182 Date d'inscription   Statut Contributeur Dernière intervention   4 511
     
    Salut.
    Essaye avec ça :
    function VerifForm(formulaire) {
    	var emailInput = formulaire.adresse_email;
    	var checkbox = formulaire.case1;
    	
    	var emailSyntax = neew RegExp("^[a-z0-9._-]+@[a-z0-9._-]{2,}\.[a-z]{2,4}$","i");
    	
    	if(emailSyntax.test(emailInput.value.test) && checkbox.checked) {
    		return true;
    	}
    	
    	return false;
    }
    Le forum « Webmastering » est plus approprié pour ta question.
    0
    1. Wana
       
      Merci mais comment faire dans ce cas pour conserver mes alertes (qui permettent aux internautes de comprendre pourquoi le formulaire ne part pas) ?

      Merci !
      0
    2. avion-f16 Messages postés 19182 Date d'inscription   Statut Contributeur Dernière intervention   4 511
       
      function VerifForm(formulaire) {
      	var emailInput = formulaire.adresse_email;
      	var checkbox = formulaire.case1;
      	var nbErrors = 0, msgErrors = '';
      
      	var emailSyntax = new RegExp("^[a-z0-9._-]+@[a-z0-9._-]{2,}\.[a-z]{2,4}$","i");
      
      
      	if(!emailSyntax.test(emailInput.value)) {
      		nbErrors++;
      		msgErrors += 'L\'adresse email est invalide'+"\n";
      	}
      	
      	if(!checkbox.checked) {
      		nbErrors++;
      		msgErrors += 'La case n\'est pas cochée'+"\n";
      	}
      
      	if(nbErrors > 0) {
      		alert(msgErrors);
      		return false;	
      	} else {
      		return true;
      	}
      }
      0