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érification de formulaire


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    99
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 99
    Par défaut vérification de formulaire
    Bonjour,
    J'ai créer un formulaire et je souhaite le vérifier avec du javascript , chose que j'ai faite mais je voudrai aussi que le formulaire ne s’envoie pas si un champs n'est pas correctement remplie .
    Mon problème est que quoiqu'il arrive le formulaire est envoyé

    code js
    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
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
     
     
    function verifMail(champ)
    {
        var regex = /^[a-zA-Z0-9._-]+@[a-z0-9._-]{2,}\.[a-z]{2,4}$/;
        if(!regex.test(champ.value))
        {
            surligne(champ, true);
            write("<SPAN style='position:absolute;left:500px;top:500px;'>ERREUR</SPAN>'");
            return false;
        }
     
        else
        {
            surligne(champ, false);
            return true;
        }
    }
     
    function surligne(champ, erreur)
    {
        if(erreur)
     
            champ.style.backgroundColor = "#fba";
        else
            champ.style.backgroundColor = "";
    }
    function verifAge(champ)
    {
        var age = parseInt(champ.value);
        if(isNaN(age) || age < 5 || age > 111)
        {
            surligne(champ, true);
            return false;
        }
        else
        {
            surligne(champ, false);
            return true;
        }
    }
    function verifVide(champ)
    {
     
        var regex = /\s* /;
        if(regex.test(champ.value))
        {
            surligne(champ, true);
            return false;
        }
        else
        {
            surligne(champ, false);
            return true;
        }
    }
    function verifForm()
    {
        if(mail.value==ReMail.value&&password.value==ConfPass.value&&verifMail(mail)==true&&verifMail(ReMail)==true&&verifVide(password)==true&&verifVide(ConfPass)==true)
        {
            return true
            }else{
            return false
        }
    }
    formulaire
    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
    <body>
            <div id="form" style="position:absolute;left:420px;top:160px;z-index:10; "><pre><form METHOD=POST onsubmit="verifForm()" ACTION="traitement.jsp" >
     
                    <U><BR><BR><CENTER>INSCRIPTION</CENTER></U>
    				<BR>
                                    <%if(request.getParameter("erreur")!=null){out.print(request.getParameter("erreur"));}%><BR><BR>
    Adresse mail :<input name="Mail" value=" "onblur="verifMail(this)"><BR><BR>
    Confirmation adresse mail :<input name="ReMail" value=" " onblur="verifMail(this)"><BR><BR>
    Nom:      <input name="Nom" value=" " onblur="verifVide(this)"><BR><BR>
    Prenom: <input name="Prenom" value=" " onblur="verifVide(this)"> <BR><BR>	
    Age: <input name="Age" value=" " size="3"onblur="verifAge(this)"><BR><BR>
    Sexe<input type="radio" name="Sexe" value="M" checked> Homme
    <input type="radio" name="Sexe" value="F">Femme<BR><BR>
    Pays :<input name="Pays" value=" " size="10" onblur="verifVide(this)"><BR><BR>
    Adresse:      <input name="Adresse" value=" " onblur="verifVide(this)"><BR><BR>
    Code postal :<input name="codePostal" value=" " size="5" onblur="verifVide(this)">     Ville :<input name="Ville" value=" " size="10" onblur="verifVide(this)"><BR><BR>
    Mot de passe:<TD><input type="password" name="Password" onblur="verifVide(this)"><BR><BR>
    Repeter mot de passe:<input type="password" name="ConfPass" onblur="verifVide(this)">
    <BR><BR>
    <INPUT type=hidden name=afficher value=ok>       
     
     
    	<input type="submit" value="Valider">
    Merci d'avance et je n'arrive pas a trouver comment on peux définir un texte en js par exemple write("bbb") pour définir sa position couleur etc ...
    J'ai essayé avec write("<SPAN style='position:absolute;left:500px;top:500px;'>Mon texte</SPAN>'"); mais cela ne marche pas. :/

  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
    Billets dans le blog
    20
    Par défaut
    Un grand classique !

    Quand tu mets un attribut d'événement en HTML (onsubmit=""), JavaScript crée une fonction anonyme englobant le contenu de cet attribut.
    Du coup, les return de ta fonction de vérifications renvoient le résultat à cette fonction anonyme, pas à l'événement !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    onsubmit="return verifForm()"
    fonctionnera mieux
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    99
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 99
    Par défaut
    merci pour cette réponse mais j'avais déjà essayé avec le return et je viens de reesayé et ça ne marche toujours pas :/
    Mes champs deviennent rouge mais quand je clique sur inscription mon formulaire passe directement à la page traitement

  4. #4
    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
    Billets dans le blog
    20
    Par défaut
    Arggggg !!!
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    write("<SPAN style='position:absolute;left:500px;top:500px;'>ERREUR</SPAN>'");


    Il ne faut jamais utiliser write() !!!
    Comprendre document.write() en JavaScript
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    99
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 99
    Par défaut
    Merci je comprend maintenant pourquoi
    Mais comment alors afficher simplement un petit bout de texte sur ma page HTML ?

  6. #6
    Membre éclairé
    Avatar de Darkyl
    Homme Profil pro
    autodidacte en recherche d'emploi
    Inscrit en
    Novembre 2004
    Messages
    440
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : autodidacte en recherche d'emploi

    Informations forums :
    Inscription : Novembre 2004
    Messages : 440
    Billets dans le blog
    1
    Par défaut
    Salut,

    Mais comment alors afficher simplement un petit bout de texte sur ma page HTML ?
    Tout dépend comment tu veux l'afficher et quelques technos tu utilises...
    -tu peux simplement rajouter un div avec ton texte, regarde du côté de createElement.
    -Tu peux passer par jquery : $('body').append('ton texte');
    Mais si tu dois le positionner à un endroit particulier (ce qui doit être le cas), insere ton texte dans un div et rajoute le div de la même maniere : $('body').append('<div ..... >ton texte</div>');

    Sinon, regarde du côté d'ajax et javascript: innerHTML.

Discussions similaires

  1. Vérification de formulaire avec regexp
    Par Shadow aok dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 06/08/2007, 11h57
  2. vérification de formulaire
    Par manciaux dans le forum Langage
    Réponses: 23
    Dernier message: 01/09/2006, 16h20
  3. Vérification de formulaire :/
    Par Michaël dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 22/02/2006, 18h47
  4. Réponses: 5
    Dernier message: 12/07/2005, 17h04
  5. JavaScript de vérification de formulaire
    Par [DreaMs] dans le forum XMLRAD
    Réponses: 6
    Dernier message: 26/02/2003, 13h48

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