Problème avec IE pour un script de base [Résolu]

Signaler
Messages postés
49
Date d'inscription
jeudi 26 mai 2005
Statut
Membre
Dernière intervention
13 août 2006
-
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
-
Bonjour,

le problème est tout bête, je veux contrôler la saisie d'un formulaire via un petit javascript, qui en passant, fonctionne sous Firefox (et encore, pas sur toutes les machines), ne fonctionne absolument pas sous IE!

Mon problème est assez urgent, donc si vous pouviez m'aider ce serait super.
Cordialement,
Atef

J'ai mon bouton ici:

 

Et ma vérification du formulaire ici:

<SCRIPT language="javascript">
   function Valider() {
      if (document.getElementById("monform").lstCiv.value==0 || document.getElementById("monform").txtNom.value==0 || document.getElementById("monform").txtPnom.value==0 || document.getElementById("monform").txtEnseigne.value==0 || document.getElementById("monform").txtAdr.value==0 || document.getElementById("monform").txtCP.value==0 || document.getElementById("monform").txtVille.value==0 || document.getElementById("monform").txtNoSiret.value==0 || document.getElementById("monform").lstApe.value==0 || document.getElementById("monform").txtTel_Ent.value==0 || document.getElementById("monform").txtTel_Direct.value==0 || document.getElementById("monform").txtMail.value==0){
          alert("Veuillez remplir tous les champs du formulaire.")
      }
      else {
           var Pat = /^[a-z][a-z0-9_\.]+@[a-z0-9_\.\-]+\.[a-z]{2,3}$/i
          if (!(document.getElementById("monform").txtMail.value.match(Pat))) {
         
          alert('E-mail mal saisi!\nUtilisez un format comme par exemple: dupont@free.fr')
          }else{
         document.getElementById("monform").submit()
         }
      }
   }
</SCRIPT>

5 réponses

Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
32
une approche de réponse...



<HTML Lang= "fr">
<HEAD>
<TITLE></TITLE>
<Script type="Text/JavaScript"><!----------
   function Valider() {
      if ( document.getElementById("monform").lstCiv.selectedIndex<0 ||
   document.getElementById("monform").txtNom.value.length==0 ||
   document.getElementById("monform").txtPnom.value.length==0 ||
   document.getElementById("monform").txtEnseigne.value.length==0 ||
   document.getElementById("monform").txtAdr.value.length==0 ||
   document.getElementById("monform").txtCP.value.length==0 ||
   document.getElementById("monform").txtVille.value.length==0 ||
   document.getElementById("monform").txtNoSiret.value.length==0 ||
   document.getElementById("monform").lstApe.selectedIndex<0 ||
   document.getElementById("monform").txtTel_Ent.value.length==0 ||
   document.getElementById("monform").txtTel_Direct.value.length==0 ||
   document.getElementById("monform").txtMail.value.length==0){
          alert("Veuillez remplir tous les champs du formulaire.")
          return false;
      }
      else {
           var Pat = /^[a-z][a-z0-9_\.]+@[a-z0-9_\.\-]+\.[a-z]{2,3}$/i
          if (!(document.getElementById("monform").txtMail.value.match(Pat))) {
         
          alert('E-mail mal saisi!\nUtilisez un format comme par exemple:

[mailto:dupont@free.fr'

dupont@free.fr'

]

)
          return false;
          }else{
         return true;
         }
      }
   }
//----------></Script>
</HEAD>

 <form name ="form1" id="monform" method="post" action="javascript:alert('ok');"
  onsubmit="return(Valider());">
          ----

        Civilit&eacute;*:,
             

        <select name="lstCiv" id="lstCiv" size=2>
          <option value="0"></option>
          <option>Melle</option>
          <option>Mme</option>
          <option>M</option>
                      </select>
       ,
     
      ----

        Nom*:,
                 
       ,
     
      ----

        Pr&eacute;nom*,
                 
       ,
     
      ----

        Enseigne/Elevage*:,
                 
       ,
     
      ----

        Adresse*:,
                 
       ,
     
      ----

        Code postal*:,
                 
       ,
     
      ----

        Ville*:,
                 
       ,
     
      ----

        No. SIRET* :,
                 
       ,
     
      ----

        Code APE* :,
                  <select name="lstApe" id="lstApe" size=2>
              <option value="0"></option>
              <option>012J</option>
              <option>524Z</option>
          </select>
       ,
     
      ----

        Affixe (si &eacute;leveur):,
                 
       ,
     
      ----

        T&eacute;l entreprise*:,
                 
       ,
     
      ----

        T&eacute;l direct*:,
                 
       ,
     
      ----

        Fax entreprise:,
                 
       ,
     
      ----

        Fax direct :,
                 
       ,
     
      ----

        Site web :,
                 
       ,
     
      ----

        E-mail*:,
                 
       ,
     
   

            * Champs obligatoires

           
   

  </form>







</HTML>






remarques :
   j'ai remplacé l'appel à la page php dans
      action du form par un alert en JavaScript
   un select ne possède pas de value mais des options
      qui peuvent avoir des value.
   mis size au select, sinon la 1ère ligne
      est sélectionnée par défaut ( on peut
      faire autrement )
   contrôler uniquement si un champ est rempli
      est insuffisant ( code potal = xx ? ça passe ? )
      il existe des "Contrôleurs automatiques"
         par exemple j'ai mis "ConForm" dans les
         sources de ce site ( plus de script à faire )

cordialement   Bul   
Site
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
32
bonjour,

°°°° si on avait le formulaire, ça nous éviterait de 
   le resaisir... pour tester !
°°°° ne fonctionne pas ? mais encore ? message d'erreur ?
   avec FF, la console JavaScript donne les erreurs,
   avec IE, il faut activer le debugger ( paramètrage IE )
°°°° plutôt qu'un bouton et submit dans javascript :
   on submit dans le form, c'est fait pour ça
      <form onsubmit="return(Valider());"...>
      ...



      
Site
Messages postés
49
Date d'inscription
jeudi 26 mai 2005
Statut
Membre
Dernière intervention
13 août 2006

Désolé d'avoir paru comme il vous a semblé m'apparaître, j'avais dit ca par désespoir, mais je te remercie Bultez de m'avoir appris cette leçon .

Je joins ici mon formulaire afin que vous puissiez y voir plus clair dans mon charabia.

Le problème est que je n'avais jamais fait du javascript auparavant et que mon boss m'impose ça à la volée... Ca met la pression.

<form name="form1" id="monform" method="post" action="recapitpro.php?valid=true" >
          ----

        Civilit&eacute;*:,
             

        <select name="lstCiv" id="lstCiv">
          <option value="0"></option>
          <option>Melle</option>
          <option>Mme</option>
          <option>M</option>
                      </select>
       ,
     
      ----

        Nom*:,
                 
       ,
     
      ----

        Pr&eacute;nom*,
                 
       ,
     
      ----

        Enseigne/Elevage*:,
                 
       ,
     
      ----

        Adresse*:,
                 
       ,
     
      ----

        Code postal*:,
                 
       ,
     
      ----

        Ville*:,
                 
       ,
     
      ----

        No. SIRET* :,
                 
       ,
     
      ----

        Code APE* :,
                  <select name="lstApe" id="lstApe">
              <option value="0"></option>
              <option>012J</option>
              <option>524Z</option>
          </select>
       ,
     
      ----

        Affixe (si &eacute;leveur):,
                 
       ,
     
      ----

        T&eacute;l entreprise*:,
                 
       ,
     
      ----

        T&eacute;l direct*:,
                 
       ,
     
      ----

        Fax entreprise:,
                 
       ,
     
      ----

        Fax direct :,
                 
       ,
     
      ----

        Site web :,
                 
       ,
     
      ----

        E-mail*:,
                 
       ,
     
   

            * Champs obligatoires

           
             
   

  </form>

Merci!
Messages postés
49
Date d'inscription
jeudi 26 mai 2005
Statut
Membre
Dernière intervention
13 août 2006

Ca fonctionne!

Merci beaucoup, vraiment!
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
32
merci du retour,
mais il reste des améliorations importantes à faire
_ test du contenu ( code postal numérique par exemple )
_ signaler toutes les erreurs et pas un texte générique
   du style "nom obligatoire 
             mail invalide ... "
   sinon c'est difficile pour l'utilisateur 
   de voir ce qui cloche
_ ...
cordialement   Bul   
Site