begin process at 2010 02 10 01:10:40
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Javascript / DHTML / Ajax

 > 

JavaScript et le navigateur

 > 

Problème de compatibilité

 > 

Problème avec IE pour un script de base


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Problème avec IE pour un script de base

samedi 8 juillet 2006 à 03:24:33 | Problème avec IE pour un script de base

Son_of_the_Sun

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:

 <input type="button" name="Verifier" value="Valider" onClick="Valider()">

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>
samedi 8 juillet 2006 à 05:20:44 | Re : Problème avec IE pour un script de base

bultez

Membre Club





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());"...>
      ...
      <input type=submit"...
      et dans le javascript on retourne false si erreur,
         true sinon
°°°°   les contrôles des champs fait :
   document.getElementById("monform").txtPnom.value==0 par exemple
            on teste donc si txtPnom est = 0 ?
   je verrais plutôt
      document.getElementById("monform").txtPnom.value.length==0 ou
      document.getElementById("monform").txtPnom.value==""
°°°°   pas regardé plus loin pour l'instrant...
°°°°   il est assez mal vu, dans un forum, de dire que c'est urgent...

cordialement   Bul   
Site

samedi 8 juillet 2006 à 14:03:43 | Re : Problème avec IE pour un script de base

Son_of_the_Sun

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" >
    <table width="470" border="0" cellpadding="2" cellspacing="4">
      <tr>
        <td width="150">Civilit&eacute;<span class="Style1">*</span>:</td>
        <td width="300">
      <div align="right">
        <select name="lstCiv" id="lstCiv">
          <option value="0"></option>
          <option>Melle</option>
          <option>Mme</option>
          <option>M</option>
                      </select>
        </div></td>
      </tr>
      <tr>
        <td>Nom<span class="Style1">*</span>:</td>
        <td><div align="right">
          <input name="txtNom" type="text" id="txtNom" size="35" maxlength="35">
        </div></td>
      </tr>
      <tr>
        <td>Pr&eacute;nom<span class="Style1">*</span></td>
        <td><div align="right">
          <input name="txtPnom" type="text" id="txtPnom" size="45" maxlength="45">
        </div></td>
      </tr>
      <tr>
        <td>Enseigne/Elevage<span class="Style1">*</span>: </td>
        <td><div align="right">
          <input name="txtEnseigne" type="text" id="txtEnseigne" size="45" maxlength="45">
        </div></td>
      </tr>
      <tr>
        <td>Adresse<span class="Style1">*</span>:</td>
        <td><div align="right">
          <input name="txtAdr" type="text" id="txtAdr" size="50" maxlength="70">
        </div></td>
      </tr>
      <tr>
        <td>Code postal<span class="Style1">*</span>: </td>
        <td><div align="right">
          <input name="txtCP" type="text" id="txtCP" size="10" maxlength="5">
        </div></td>
      </tr>
      <tr>
        <td>Ville<span class="Style1">*</span>:</td>
        <td><div align="right">
          <input name="txtVille" type="text" id="txtVille" size="35" maxlength="35">
        </div></td>
      </tr>
      <tr>
        <td>No. SIRET<span class="Style1">*</span> :</td>
        <td><div align="right">
          <input name="txtNoSiret" type="text" id="txtNoSiret" size="20" maxlength="14">
        </div></td>
      </tr>
      <tr>
        <td>Code APE<span class="Style1">*</span> :</td>
        <td><div align="right">
          <select name="lstApe" id="lstApe">
              <option value="0"></option>
              <option>012J</option>
              <option>524Z</option>
          </select>
        </div></td>
      </tr>
      <tr>
        <td>Affixe (si &eacute;leveur):</td>
        <td><div align="right">
          <input name="txtAffixe" type="text" id="txtAffixe" size="15" maxlength="10">
        </div></td>
      </tr>
      <tr>
        <td>T&eacute;l entreprise<span class="Style1">*</span>:</td>
        <td><div align="right">
          <input name="txtTel_Ent" type="text" id="txtTel_Ent" size="21" maxlength="21">
        </div></td>
      </tr>
      <tr>
        <td><p>T&eacute;l direct<span class="Style1">*</span>:</p></td>
        <td><div align="right">
          <input name="txtTel_Direct" type="text" id="txtTel_Direct" size="21" maxlength="21">
        </div></td>
      </tr>
      <tr>
        <td>Fax entreprise:</td>
        <td><div align="right">
          <input name="txtFax_Ent" type="text" id="txtFax_Ent" size="21" maxlength="21">
        </div></td>
      </tr>
      <tr>
        <td>Fax direct : </td>
        <td><div align="right">
          <input name="txtFax_Direct" type="text" id="txtFax_Direct" size="21" maxlength="21">
        </div></td>
      </tr>
      <tr>
        <td>Site web :</td>
        <td><div align="right">
          <input name="txtSite" type="text" id="txtSite" size="50" maxlength="70">
        </div></td>
      </tr>
      <tr>
        <td>E-mail<span class="Style1">*</span>:</td>
        <td><div align="right">
          <input name="txtMail" type="text" id="txtMail" size="50" maxlength="70">
        </div></td>
      </tr>
    </table>
            <p class="Style1">* Champs obligatoires</p>
            <p>
              <input type="button" name="Verifier" value="Valider" onClick="Valider()">
    </p>
  </form>

Merci!
samedi 8 juillet 2006 à 15:05:04 | Re : Problème avec IE pour un script de base

bultez

Membre Club
Réponse acceptée !

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:
dupont@free.fr')
          return false;
          }else{
         return true;
         }
      }
   }
//----------></Script>
</HEAD>
<BODY>
 <form name="form1" id="monform" method="post" action="javascript:alert('ok');"
  onsubmit="return(Valider());">
    <table width="470" border="0" cellpadding="2" cellspacing="4">
      <tr>
        <td width="150">Civilit&eacute;<span class="Style1">*</span>:</td>
        <td width="300">
      <div align="right">
        <select name="lstCiv" id="lstCiv" size=2>
          <option value="0"></option>
          <option>Melle</option>
          <option>Mme</option>
          <option>M</option>
                      </select>
        </div></td>
      </tr>
      <tr>
        <td>Nom<span class="Style1">*</span>:</td>
        <td><div align="right">
          <input name="txtNom" type="text" id="txtNom" size="35" maxlength="35">
        </div></td>
      </tr>
      <tr>
        <td>Pr&eacute;nom<span class="Style1">*</span></td>
        <td><div align="right">
          <input name="txtPnom" type="text" id="txtPnom" size="45" maxlength="45">
        </div></td>
      </tr>
      <tr>
        <td>Enseigne/Elevage<span class="Style1">*</span>: </td>
        <td><div align="right">
          <input name="txtEnseigne" type="text" id="txtEnseigne" size="45" maxlength="45">
        </div></td>
      </tr>
      <tr>
        <td>Adresse<span class="Style1">*</span>:</td>
        <td><div align="right">
          <input name="txtAdr" type="text" id="txtAdr" size="50" maxlength="70">
        </div></td>
      </tr>
      <tr>
        <td>Code postal<span class="Style1">*</span>: </td>
        <td><div align="right">
          <input name="txtCP" type="text" id="txtCP" size="10" maxlength="5">
        </div></td>
      </tr>
      <tr>
        <td>Ville<span class="Style1">*</span>:</td>
        <td><div align="right">
          <input name="txtVille" type="text" id="txtVille" size="35" maxlength="35">
        </div></td>
      </tr>
      <tr>
        <td>No. SIRET<span class="Style1">*</span> :</td>
        <td><div align="right">
          <input name="txtNoSiret" type="text" id="txtNoSiret" size="20" maxlength="14">
        </div></td>
      </tr>
      <tr>
        <td>Code APE<span class="Style1">*</span> :</td>
        <td><div align="right">
          <select name="lstApe" id="lstApe" size=2>
              <option value="0"></option>
              <option>012J</option>
              <option>524Z</option>
          </select>
        </div></td>
      </tr>
      <tr>
        <td>Affixe (si &eacute;leveur):</td>
        <td><div align="right">
          <input name="txtAffixe" type="text" id="txtAffixe" size="15" maxlength="10">
        </div></td>
      </tr>
      <tr>
        <td>T&eacute;l entreprise<span class="Style1">*</span>:</td>
        <td><div align="right">
          <input name="txtTel_Ent" type="text" id="txtTel_Ent" size="21" maxlength="21">
        </div></td>
      </tr>
      <tr>
        <td><p>T&eacute;l direct<span class="Style1">*</span>:</p></td>
        <td><div align="right">
          <input name="txtTel_Direct" type="text" id="txtTel_Direct" size="21" maxlength="21">
        </div></td>
      </tr>
      <tr>
        <td>Fax entreprise:</td>
        <td><div align="right">
          <input name="txtFax_Ent" type="text" id="txtFax_Ent" size="21" maxlength="21">
        </div></td>
      </tr>
      <tr>
        <td>Fax direct : </td>
        <td><div align="right">
          <input name="txtFax_Direct" type="text" id="txtFax_Direct" size="21" maxlength="21">
        </div></td>
      </tr>
      <tr>
        <td>Site web :</td>
        <td><div align="right">
          <input name="txtSite" type="text" id="txtSite" size="50" maxlength="70">
        </div></td>
      </tr>
      <tr>
        <td>E-mail<span class="Style1">*</span>:</td>
        <td><div align="right">
          <input name="txtMail" type="text" id="txtMail" size="50" maxlength="70">
        </div></td>
      </tr>
    </table>
            <p class="Style1">* Champs obligatoires</p>
            <p><input type="submit" value="Valider" />
    </p>
  </form>

</BODY></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

samedi 8 juillet 2006 à 15:50:51 | Re : Problème avec IE pour un script de base

Son_of_the_Sun

Ca fonctionne!

Merci beaucoup, vraiment!
samedi 8 juillet 2006 à 16:06:07 | Re : Problème avec IE pour un script de base

bultez

Membre Club
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


Cette discussion est classée dans : problème, document, value, getelementbyid, monform


Répondre à ce message

Sujets en rapport avec ce message

Problème Firefox & document.getElementById [ par leviz ] Bonjour,J'ai un problème avec Firefox, il ne me recupère pas les valeurs de mon formulaire et pourtant sous IE ça fonctionne très bien.        alert( problème de formulaire de calcul en ligne [ par adtconsult ] Bonjour, J'ai une page web ou des données sont entrées par l'utilisateur en ligne Qui ressemble à ceci : --------------------------------------------- Problème avec un bouton Submit sous forme d'image [ par titoursdu38 ] Bonjour à tous !Je suis en train de travailler sur un formulaire, et je ne parviens pas à envoyer mon formulaire après le clic sur l'image.J'utilise u Affiche nombre [ par jumano ] Bonjour,J'effectue une petite fonction en js me permettant d'effectuer certain calcul en fonction de "radio" en position check.Je récupère ensuite une code js qui ne marche pas (DOM, ajout d'évènement) [ par nicomilville ] Salut tout le monde,J'ai ces quelques lignes de code qui ne marchent pas !!!document.getElementById('button1').addEventListener('click', reciproque('d pb éxécution script [ par bricelo ] Bonjour, j'ai un script js de reconnaissance de code postal qui fonctionne de façon bancal.En effet l'appel de la fonction fonctionne bien et la premi Problème avec le DOM [ par nicomilville ] Salut,Voila j'ai un problème de fonction, normalement, je charge ma fonction une fois que le DOM est construit avec attachEvent sous ie et addEventLis envois de formulaire ajax [ par Annadrill ] bonjour,voilà, j'aimerais modifier la fonction que je vous mets la dessous, de manière a pouvoir l'utiliser avec n'importe quel formulaire, en précisa Champ inactif [ par nicoferra ] Bonjour,je chercher à rendre un champ inactif (initial_compo2) mais cela ne fonctionne pas.Merciwindow.onload=function desactive(){document.getElement récuperer données table [ par anasjava ] Je suis débutant en java  et  j'ai  un petit souci, je remli une table par des donnée


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,718 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales