Problème avec IE pour un script de base

Résolu
cs_Son_of_the_Sun Messages postés 49 Date d'inscription jeudi 26 mai 2005 Statut Membre Dernière intervention 13 août 2006 - 8 juil. 2006 à 03:24
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 - 8 juil. 2006 à 16:06
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

cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
8 juil. 2006 à 15:05
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
3
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
8 juil. 2006 à 05:20
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
0
cs_Son_of_the_Sun Messages postés 49 Date d'inscription jeudi 26 mai 2005 Statut Membre Dernière intervention 13 août 2006
8 juil. 2006 à 14:03
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!
0
cs_Son_of_the_Sun Messages postés 49 Date d'inscription jeudi 26 mai 2005 Statut Membre Dernière intervention 13 août 2006
8 juil. 2006 à 15:50
Ca fonctionne!

Merci beaucoup, vraiment!
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
8 juil. 2006 à 16:06
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
0
Rejoignez-nous