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 :

Vérif de champs et de mail dans un formulaire


Sujet :

JavaScript

  1. #1
    Membre actif
    Avatar de jlb59
    Homme Profil pro
    Retraité
    Inscrit en
    Août 2004
    Messages
    919
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2004
    Messages : 919
    Points : 235
    Points
    235
    Par défaut Vérif de champs et de mail dans un formulaire
    Bonjour à tous,

    Avec l'aide d'un expert en JS sur ce forum, j'ai pu vérifier tous les champs d'un formulaire.

    De ce fait, c'était OK, mais là où je n'avais pas penser, c'est la vérification de la bonne syntaxe du mail du posteur en même temps.

    Comme je suis pratiquement null dans ce langage, voudriez-vous m'aider ?

    J'ai bien la fonction qui vérifie le remplissage des champs, mais aussi une autre pour vérifier la bonne validité du mail.
    Et comme c'est 2 scripts séparés, j'ai un petit prb pour les rassembler !
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <form method="post" action="./index.php?page=10&amp;id=Result_Contact" name="formcheck" onsubmit="return formCheck(this);" onsubmit="return verif_email()">
    J'ai essayé de mettre 2 "onsubmit", mais, apparemment, c'est pas la bonne solution.

    Si vous avez besoin des JS de vérification des champs et du mail, je reste à votre disposition.

    Merci d'avance.

    Cordialement.
    JLB59
    Cordialement.
    JLB59

    Analyse de la mémoire

  2. #2
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Points : 36 571
    Points
    36 571
    Par défaut
    Bonjour,
    il suffit que ta fonction formCheck(this) appelle la fonction verif_email().
    En fin de formCheck :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    if (blnOK)  // Si les contrôles précédents de formCheck() sont OK
    return verif_email();
    else return false;
    EDIT : et bien sûr, en ne laissant que ton 1° onsubmit dans le <form> ...

    A+
    Pour tout savoir sur l'utilisation du forum

    En postant votre message, n'oubliez pas les Règles du Club.

  3. #3
    Membre actif
    Avatar de jlb59
    Homme Profil pro
    Retraité
    Inscrit en
    Août 2004
    Messages
    919
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2004
    Messages : 919
    Points : 235
    Points
    235
    Par défaut
    Citation Envoyé par E.Bzz
    Bonjour,
    il suffit que ta fonction formCheck(this) appelle la fonction verif_email().
    En fin de formCheck :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    if (blnOK)  // Si les contrôles précédents de formCheck() sont OK
    return verif_email();
    else return false;
    EDIT : et bien sûr, en ne laissant que ton 1° onsubmit dans le <form> ...

    A+
    Merci de ton aide E.Bzz, ton explication est claire, mais je voudrais savoir
    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
    ...
    			}
    		}
    	}
     
    	if (alertMsg.length == l_Msg){
    		return true;
    	}else{
    		alert(alertMsg);
    		return false;
    	}
    }
    if (blnOK)  // Si les contrôles précédents de formCheck() sont OK
    return verif_email();
    else return false;
    // -->
    </script>
    c'est bien comme ça qu'il faut faire, non ?
    Cordialement.
    JLB59

    Analyse de la mémoire

  4. #4
    Membre actif
    Avatar de jlb59
    Homme Profil pro
    Retraité
    Inscrit en
    Août 2004
    Messages
    919
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2004
    Messages : 919
    Points : 235
    Points
    235
    Par défaut
    Citation Envoyé par E.Bzz
    Bonjour,
    il suffit que ta fonction formCheck(this) appelle la fonction verif_email().
    En fin de formCheck :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    if (blnOK)  // Si les contrôles précédents de formCheck() sont OK
    return verif_email();
    else return false;
    EDIT : et bien sûr, en ne laissant que ton 1° onsubmit dans le <form> ...

    A+
    J'ai fait comme tu m'as dit et en ligne c'est OK.

    Seulement, je ne dois pas avoir le bon script pour vérifier la syntaxte du mail, parce que j'ai simplement mis des lettres et c'est passé sans erreur.

    Donc, la vérification de la syntaxe ne se fait pas (@ n'est pas détecté) ???
    Voilà ce que j'ai entré :

    Dis-moi un peu, ton bout de code marche avec tous les JS de vérification ?

    Si c'est le cas, je vais voir pour en trouver un autre, à moins que en connaisses ?
    Cordialement.
    JLB59

    Analyse de la mémoire

  5. #5
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Points : 36 571
    Points
    36 571
    Par défaut
    Citation Envoyé par jlb59
    Dis-moi un peu, ton bout de code marche avec tous les JS de vérification ?
    Heu ... oui.
    Avec toute fonction JS, même.
    Si c'est le cas, je vais voir pour en trouver un autre, à moins que en connaisses ?
    Pas sous la main, mais il suffit de tester que
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ton_email.indexOf("@") > 0
    (pour avoir au moins 1 car. avant)
    et tu peux compléter avec le test
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ton_email.indexOf("@") == ton_email.lastIndexOf("@")
    (pour vérifier qu'il n'y a qu'un "@")

    A+
    Pour tout savoir sur l'utilisation du forum

    En postant votre message, n'oubliez pas les Règles du Club.

  6. #6
    Membre actif
    Avatar de jlb59
    Homme Profil pro
    Retraité
    Inscrit en
    Août 2004
    Messages
    919
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2004
    Messages : 919
    Points : 235
    Points
    235
    Par défaut
    Citation Envoyé par E.Bzz
    Heu ... oui.
    Avec toute fonction JS, même.
    Pas sous la main, mais il suffit de tester que
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ton_email.indexOf("@") > 0
    (pour avoir au moins 1 car. avant)
    et tu peux compléter avec le test
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ton_email.indexOf("@") == ton_email.lastIndexOf("@")
    (pour vérifier qu'il n'y a qu'un "@")

    A+
    Je ne sais pas si tu te souviens, je suis pratiquement nul en JS.
    Ton bout de code semble adapté à ce que je veux faire, mais je le mets où ?
    Cordialement.
    JLB59

    Analyse de la mémoire

  7. #7
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Points : 36 571
    Points
    36 571
    Par défaut
    Excuse moi, mais j'avais pas vu celui-là, qui n'est pas bon :
    Citation Envoyé par jlb59
    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
    ...
    			}
    		}
    	}
     
    	if (alertMsg.length == l_Msg){
    		return true;
    	}else{
    		alert(alertMsg);
    		return false;
    	}
    }
    if (blnOK)  // Si les contrôles précédents de formCheck() sont OK
    return verif_email();
    else return false;
    // -->
    </script>
    c'est bien comme ça qu'il faut faire, non ?
    == >
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    ...
    			}
    		}
    	}
     
    	if (alertMsg.length == l_Msg){
                   return verif_email();
    	}else{
    		alert(alertMsg);
    		return false;
    	}
    }
    // -->
    </script>
    ... et pour intégrer le indexOf("@"), il faudrait le code de verif_email()

    A+
    Pour tout savoir sur l'utilisation du forum

    En postant votre message, n'oubliez pas les Règles du Club.

  8. #8
    Membre actif
    Avatar de jlb59
    Homme Profil pro
    Retraité
    Inscrit en
    Août 2004
    Messages
    919
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2004
    Messages : 919
    Points : 235
    Points
    235
    Par défaut
    Citation Envoyé par E.Bzz
    ... et pour intégrer le indexOf("@"), il faudrait le code de verif_email()
    C'est à dire, l'adresse si je comprends bien (jl.bouchez@free.fr)

    Quand tu parles d'intégrer, dans le script modifié que tu m'as donné ?

    Je suis complètement perdu !

    Je n'ai que ça pour la vérif :
    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
    <!--DEBUT DU SCRIPT-->
     
    function Verif_mail(formulaire)
    	{
    	adresse = formulaire.adresse_email.value;
    	var place = adresse.indexOf("@",1);
    	var point = adresse.indexOf(".",place+1);
    	if ((place > -1)&&(adresse.length >2)&&(point > 1))
    		{
    		formulaire.submit();
    		return(true);
    		}
    	else
    		{
    		alert('Entrez une adresse e-mail valide!!');
    		return(false);
    		}
    	}
    </SCRIPT>
    <!-- FIN DU SCRIPT-->
    Cordialement.
    JLB59

    Analyse de la mémoire

  9. #9
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Points : 36 571
    Points
    36 571
    Par défaut
    Il y en a peut-être de plus efficaces, mais celui-ci devrait fonctionner ...

    Si tu t'es retrouvé avec une adresse saisie sans le "@", c'est certainement que cette verif n'était pas appelée correctement (tu avais 2 onsubmit).
    Il devrait suffire d'enlever la ligne car dans ta page, ce n'est pas le rôle de cette fonction d'appeler le submit() (c'est ton <form> qui le fera si onsubmit lui renvoie "true") ...

    A+
    Pour tout savoir sur l'utilisation du forum

    En postant votre message, n'oubliez pas les Règles du Club.

  10. #10
    Membre actif
    Avatar de jlb59
    Homme Profil pro
    Retraité
    Inscrit en
    Août 2004
    Messages
    919
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2004
    Messages : 919
    Points : 235
    Points
    235
    Par défaut
    Citation Envoyé par E.Bzz
    Il y en a peut-être de plus efficaces, mais celui-ci devrait fonctionner ...

    Si tu t'es retrouvé avec une adresse saisie sans le "@", c'est certainement que cette verif n'était pas appelée correctement (tu avais 2 onsubmit).
    Il devrait suffire d'enlever la ligne car dans ta page, ce n'est pas le rôle de cette fonction d'appeler le submit() (c'est ton <form> qui le fera si onsubmit lui renvoie "true") ...

    A+
    J'ai fait comme tu me l'as conseillé, en laissant qu'un seul "onsubmit" dans la form, mais il y a eu tellement de changement...
    Cordialement.
    JLB59

    Analyse de la mémoire

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. 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
  2. Findrecord sur un champ parmi d'autres dans un formulaire
    Par takumix dans le forum VBA Access
    Réponses: 4
    Dernier message: 27/01/2008, 00h09
  3. Réponses: 5
    Dernier message: 23/04/2007, 13h37
  4. Réponses: 14
    Dernier message: 19/10/2006, 14h23
  5. Ajout dynamique de champs de type file dans un formulaire !
    Par stitch dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 27/11/2005, 11h18

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