Code javascript verivication de chanps

Résolu
Bonjour,

Je debute dans le javascript et je ne comprends pas pourquoi cela ne marche pas .
Pouvez vous m'eclairer un peu ?
Merci.

<head>
<meta content="text/html; charset=windows-1252" http-equiv="Content-Type">
<script type="text/javascript">

function check_form()
}

var champ_mail=document.getElementById('mail');
if(champ_mail.value==""){
alert("Vous devez saisir votre email ! ");
champ_mail.focus();
return false;
}else{

var regexp = new RegExp("^[a-zA-Z0-9_\\-\\.]{3,}@[a-zA-Z0-9\\-_]{2,}\\.[a-zA-Z]{2,4}$", "g");
if(!regexp.test(champ_mail.value) ) {
alert("L'adresse e-mail n'est pas valide xxxxxx@xxxxx.xx ! "+champ_mail.value);
champ_mail.focus();
return false;

}
</script>
</head>

<div id="menu">
<div class="element_menu">
<h3>Recevoir la newsletters</h3>
<form action="traitement_newsletters.php" language="JavaScript" method="post" name="Form" onsubmit="return Form_Validator(this)">

<p>
E-mail : <input type="text" name="mail" >
<input type="submit" value="Valider" style="height: 20px" >
</p>

</form>

</div>
</div>

</html>

3 réponses

  1. jai pas vu le reste mais déja :

    function check_form()
    }<==== a l'envers
    1. Salut.

      L'attribut language que tu as mis sur la balise <form> est à mettre sur la balise <script>.
      Mais maintenant, on utilise plutôt l'attribut type qui est déjà mis.

      Dans le onsubmit, tu appelles une fonction Form_Validator(this).
      La fonction déclarée dans le JS est check_form().

      Il faudrait également ajouter « id="mail" » sur l'input.
      1. Voici ma correction selon vos conseil mais cela ne marche pas :

        <script type="text/javascript">

        function check_form()
        {

        var champ_mail=document.getElementById('mail');
        if(champ_mail.value==""){
        alert("Vous devez saisir votre email ! ");
        champ_mail.focus();
        return false;
        }else{

        var regexp = new RegExp("^[a-zA-Z0-9_\\-\\.]{3,}@[a-zA-Z0-9\\-_]{2,}\\.[a-zA-Z]{2,4}$", "g");
        if(!regexp.test(champ_mail.value) ) {
        alert("L'adresse e-mail n'est pas valide xxxxxx@xxxxx.xx ! "+champ_mail.value);
        champ_mail.focus();
        return false;

        }
        </script>
        ...
        <div class="element_menu">
        <h3>Recevoir la newsletters</h3>
        <form action="traitement_newsletters.php" method="post" name="Form" onsubmit="return check_form()">

        <p>
        E-mail : <input id='mail' type="text" name="mail" style="height: 20px" >
        <input type="submit" value="Valider" style="height: 20px" >
        </p>

        </form>

        </div>

        J ai encore un pb ? ou je suis simplement aveugle?
        1. Ça fonctionne très bien chez moi.
        2. Je fonctionne en local est ce que ca peut venir de la ?
          wampserver !
        3. J'ai testé en ouvrant par double-clic mais ça ne vient pas de là.
        4. Voici mon code complet ?

          Ceci est un menu lateral appelé en include sous php.

          Mon champs ne se check pas .
          Je ne comprend pas pourquoi ?
          Pour la redirection c'est ok mais pas pour le check de form ?

          <html>

          <head>
          <meta content="text/html; charset=windows-1252" http-equiv="Content-Type">
          <script type="text/javascript">

          function check_form()
          {

          var champ_mail=document.getElementById('mail');
          if(champ_mail.value==""){
          alert("Vous devez saisir votre email ! ");
          champ_mail.focus();
          return false;
          }else{

          var regexp = new RegExp("^[a-zA-Z0-9_\\-\\.]{3,}@[a-zA-Z0-9\\-_]{2,}\\.[a-zA-Z]{2,4}$", "g");
          if(!regexp.test(champ_mail.value) ) {
          alert("L'adresse e-mail n'est pas valide xxxxxx@xxxxx.xx ! "+champ_mail.value);
          champ_mail.focus();
          return false;

          }
          </script>
          </head>

          <div id="menu">
          <div class="element_menu">
          <h3>Infos utiles</h3>
          <ul>
          <li><a href="0">Comment s'inscrire ?</a></li>
          <li><a href="0">Où trouver les dates?</a></li>
          <li></li>
          <li><a href="">Foire au questions</a></li>
          </ul>
          </div>
          <div class="element_menu">
          <h3>Généralités</h3>
          <h4>Concours externe</h4>
          <ul>
          <li></li>
          <li></li>
          <li><a href="pages/concours_externe.php">Conditions d'accés & Épreuves</a></li>
          <li><a href="0">Comment s'y préparer ? </a></li>
          </ul>
          <h4>Concours interne</h4>
          <ul>
          <li></li>
          <li></li>
          <li><a href="../Pages/concours_interne.php">Conditions d'accés & Épreuves</a></li>
          <li><a href="0">Comment s'y préparer ? </a></li>
          </ul>
          </div>
          <div class="element_menu">
          <h3>Préparation au concours</h3>
          <ul>
          <li><a href="../pages/concours_externe.php">Préparation au concours externe</a></li>
          <li><a href="../concours_interne.php">Préparation au concours interne</a></li>
          </ul>
          </div>

          <div class="element_menu">
          <h3>Recevoir la newsletters</h3>
          <form action="traitement_newsletters.php" method="post" name="Form" onsubmit="return check_form()">

          <p>
          E-mail : <input id='mail' type="text" name="mail" style="height: 20px" >
          <input type="submit" value="Ok" style="height: 20px" name="OK" >
          </p>

          </form>

          </div>
          </div>

          </html>
        5. <script type="text/javascript">
          function check_form() {
          	var champ_mail = document.getElementById('mail').value;
          	var regexp = new RegExp("^[a-zA-Z0-9_\\-\\.]{3,}@[a-zA-Z0-9\\-_]{2,}\\.[a-zA-Z]{2,4}$", "g");
          
          	if(champ_mail == "") {
          		alert("Vous devez saisir votre email !");
          		champ_mail.focus();
          		return false;
          	} else if(!regexp.test(champ_mail) ) {
          		alert("L'adresse e-mail n'est pas valide xxxxxx@xxxxx.xx ! " + champ_mail);
          		champ_mail.focus();
          		return false;
          	} else 
          		return true;
          </script>