11548 sujets

JavaScript, DOM et API Web HTML5

Bonjour,
Voilà, un script qui valide les éléments de mon formulaire.
J'ai un petit problème lors de l'envoi, l'e-mail bloque et je ne vois pas pourquoi... Smiley eek
Qui voit le problème?
   1.
      <?xml version="1.0"?>
   2.
      <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
   3.
      <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   4.
       <head>
   5.
         <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
   6.
         <title>Test</title>
   7.
         <style type="text/css">
   8.
         .error{
   9.
           background-color:red;
  10.
         }
  11.
         </style>
  12.
       <script type="text/javascript">
  13.
       function verif() {
  14.
         var err = 0;
  15.
         var fields = new Array('nom', 'prenom', 'adresse', 'postal', 'ville', 'telephone', 'email', 'message');
  16.
       
  17.
         for(var i=0; i<fields.length; i++){
  18.
           if(document.getElementById(fields[i]).value == '') {
  19.
             document.getElementById("label_"+fields[i]).className = 'error';
  20.
             err++;
  21.
           } else {
  22.
             document.getElementById("label_"+fields[i]).className = '';
  23.
           }
  24.
         }
  25.
       
  26.
         if( validerEmail('email') ) {
  27.
           document.getElementById("label_email").className = '';
  28.
         } else {
  29.
           document.getElementById("label_email").className = 'error';
  30.
           err++;
  31.
         }
  32.
       
  33.
        return ! err;
  34.
       
  35.
       }
  36.
       
  37.
       function validerEmail(idInput) {
  38.
         if (!document.getElementById(idInput).value.match(/^[\w>\-]+@([\w\-]+> )+[a-zA-Z]+$/)) {
  39.
           return false;
  40.
         }
  41.
         return true;
  42.
       }
  43.
       </script>
  44.
       </head>
  45.
       <body>
  46.
         <form action="http://www.cgi4all.org/cgi-bin/formmail.cgi" method="post" onsubmit="return verif();">
  47.
           <input type="hidden" name="recipient" value="appart@vitamine-c.ch" />
  48.
           <input type="hidden" name="redirect" value="http://www.auto-ecole-daniel.ch" />
  49.
           <fieldset>
  50.
             <div class="espace">
  51.
               <label for="samaritains"> Samaritains </label>
  52.
               <select name="date samaritains">
  53.
                 <option value="cours A"> Choisir une date </option>
  54.
                 <option value="cours A"> 7 mars 2006 17h00 </option>
  55.
                 <option value="cours sA"> 15 mars 2006 17h00 </option>
  56.
                 <option value="cours V"> 18 mars 2006 17h15 </option>
  57.
               </select>
  58.
             </div>
  59.
             <div class="espace">
  60.
               <label for="samaritains"> Sensibilisation </label>
  61.
               <select name="date sensibilisation">
  62.
                 <option value="cours s"> Choisir une date </option>
  63.
                 <option value="cours s"> 7 mars 2006 17h00 </option>
  64.
                 <option value="cours s"> 15 mars 2006 17h00 </option>
  65.
                 <option value="cours s"> 18 mars 2006 17h15 </option>
  66.
               </select>
  67.
             </div>
  68.
             <div class="espace">
  69.
               <label for="nom" id="label_nom">Nom <span>*</span></label>
  70.
               <input type="text" name="nom" id="nom" />
  71.
             </div>
  72.
             <div class="espace">
  73.
               <label for="prenom" id="label_prenom"> Prém * </label>
  74.
               <input type="text" name="prenom" id="prenom" />
  75.
             </div>
  76.
             <div class="espace">
  77.
               <label for="adresse" id="label_adresse"> Adresse * </label>
  78.
               <input type="text" name="adresse" id="adresse" />
  79.
             </div>
  80.
             <div class="espace">
  81.
               <label for="postal" id="label_postal"> N° postal * </label>
  82.
               <input type="text" name="postal" id="postal" />
  83.
             </div>
  84.
             <div class="espace">
  85.
               <label for="ville" id="label_ville"> Ville * </label>
  86.
               <input type="text" name="ville" id="ville" />
  87.
             </div>
  88.
             <div class="espace">
  89.
               <label for="telephone" id="label_telephone"> Téphone * </label>
  90.
               <input type="text" name="telephone" id="telephone" />
  91.
             </div>
  92.
             <div class="espace">
  93.
               <label for="email" id="label_email">Email *</label>
  94.
               <input type="text" name="email" id="email" />
  95.
             </div>
  96.
             <div class="espace">
  97.
               <label for="message" id="label_message">Message *</label>
  98.
               <textarea wrap="hard" name="message" id="message" cols="40" rows="5"></textarea>
  99.
             </div>
 100.
             <div class="espace">
 101.
               <input type="submit" class="envoyer" value="Envoyer" />
 102.
             </div>
 103.
           </fieldset>
 104.
         </form>
 105.
       </body>
 106.
      </html> 



Merci pour tout
Smiley cligne [/i][/i][/i]
Modifié par dups (18 Mar 2006 - 10:20)
bonjour.

a écrit :
j'ai un petit problème lors de l'envoi, l'e-mail bloque et je ne vois pas pourquoi


C'est à dire ? tu as quoi comme message d'erreur ? il se passe quoi ?
peux tu expliquer un peu plus ton problème, on pourra plus facilement t'aider.

Smiley cligne
LO:
Désolé je ne suis pas assez précis:
Lorsque que je valide le formulaire, le mail reste en rouge, mais tout est OK en réalité ( nom @ .fr)

Le problème se pose au niveau de la validation du mail.

Merci de votre aide
Modifié par garden (15 Mar 2006 - 18:19)
Bonjours,
J'ai trouvé l'erreur, c'était dans la chaine de validation e-mail (
value.match(/^[\w>\-]+@([\w\-]+> )+[a-zA-Z]+$/)) ) petite erreur de syntaxe.
Merci tout de même
dups Smiley cligne