IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Format mail dans un formulaire (again)


Sujet :

JavaScript

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    71
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Mai 2008
    Messages : 71
    Points : 42
    Points
    42
    Par défaut Format mail dans un formulaire (again)
    Rappel des épisodes précédents: mon formulaire appelle correctement ma fonction de vérification de remplissage sur le onsubmit. Voulant aller plus loin je rajoute à cette fonction un test de la forme de l'adresse mail avec une expression régulière. Et là c'est le drame, la fonction n'est plus exécutée, le formulaire est submité quoi qu'il arrive. Pendant ce temps, Brandon annonce à Cynthia qu'il est le père de l'enfant de Gwendolyn. Oh noooooon!

    Code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    <script type="text/javascript">
    function VerifForm(){ 
    					var AllIsOk=0;
     
                           if(document.forms['Formulo'].elements['nom'].value==''){AllIsOk++;}
                           if(document.forms['Formulo'].elements['prenom'].value==''){AllIsOk++;}
    					   if(document.forms['Formulo'].elements['societe'].value==''){AllIsOk++;}
                           if(document.forms['Formulo'].elements['mail'].value==''){AllIsOk++;}
    					   if(document.forms['Formulo'].elements['telephone'].value==''){AllIsOk++;}
                           if(document.forms['Formulo'].elements['adresse'].value==''){AllIsOk++;}
    					   if(document.forms['Formulo'].elements['postal'].value==''){AllIsOk++;}
                           if(document.forms['Formulo'].elements['ville'].value==''){AllIsOk++;}
    					   if(document.forms['Formulo'].elements['message'].value==''){AllIsOk++;}
     
                           if(AllIsOk==0){alert('envoi');
    								var monmail=document.forms['Formulo'].elements['mail'].value;
    								alert(monmail);
    								var expressionReguliere = new RegExp("^[a-zA-Z0-9_-.]+@[a-zA-Z0-9-]{2,}[.][a-zA-Z]{2,3}$");
    								if (!expressionReguliere.test(monmail)){
    									alert('mauvaise adresse');
    									return false;}
    								else {
    									alert('bonne adresse');
    									return true;}
    							else{
    								alert('veuillez remplir tous les champs');
    								return false;}
    }</script>
    nota: lorsque je passe en commentaire l'expression régulière ainsi que la suite du test, tout le reste s'exécute parfaitement et la variable monmail est correctement alertée. PAr contre si je rajoute l'expreg ça ne va plus...

  2. #2
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Ben en fait, quand tu as à la fois un submit et un onsubmit (idem pour href et onclick) tu demandes 2 actions en même temps et le submit (ou plutôt le action lié au submit) n'a pas forcément la courtoisie d'attendre que le onsubmit ai fini son exécution.
    La parade est de ne pas mettre de submit (si tu veux quand même un bouton, utilises un input type=button) et ajoute un submit() à la fin de ton onsubmit...

    EDIT : sans oublier que pour que ça marche il faut bien sûr transformer le onsubmit par un onclick sur le bouton...

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    71
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Mai 2008
    Messages : 71
    Points : 42
    Points
    42
    Par défaut
    Merci cher concitoyen ( ^^ ), mais cette partie ne me posait pas problème, bien que je m'en sois vaguement questionné avant de constater que la méthode onsubmit était la bonne.

    Mon souci c'est que la déclaration de l'expression régulière rend la fonction invalide, et elle est alors court-circuitée purement et simplement

Discussions similaires

  1. Vérification d'adresse mail dans un formulaire
    Par kykyboogy dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 2
    Dernier message: 15/01/2009, 18h07
  2. [A-03] Bouton Mail dans un formulaire access
    Par The Ditch dans le forum IHM
    Réponses: 6
    Dernier message: 04/01/2009, 21h05
  3. test du mail dans un formulaire
    Par riderfun dans le forum Langage
    Réponses: 1
    Dernier message: 21/07/2008, 11h40
  4. vérification d'une adresse mail dans un formulaire via une regexp
    Par mattstriker dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 11/04/2008, 19h12
  5. Vérif de champs et de mail dans un formulaire
    Par jlb59 dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 03/07/2007, 18h32

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo