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 :

alert


Sujet :

JavaScript

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    302
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 302
    Par défaut alert
    Voila mon soucis, j'ai une fonction qui affiche un message d'alert si l'utilisateur n'entre pas un login. J'ai donc utiliser la meme fonction si l'tulisateur n'entrait pas de mot de passe mais le message d'alert n'apparait pas. Voila mes codes :
    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
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr">
    <head>
      <title>Formulaire d'inscription</title>
      <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
      <link rel="stylesheet" href="formulaire.css"  type="text/css" />
      <script src="formulaire.js" type="text/javascript" charset=utf-8></script>
     
     
    </head> 
    <body onload="pratique_update()">
    <h1>Les données à remplir sont les suivantes : </h1>
    <form action="formulaire.php" enctype="multipart/form-data" method="post" onsubmit="return valide_formulaire();">
     <p>
        <label for="login">Choisissez un login : </label>
        <input type="text" name="login" id="login" maxlength="20" />
      </p>
      <p>
        <label id="pwd">Choisissez votre mot de passe : </label>
        <input type="password" name="pwd" id="pwd"/>
      </p>
    Voila le 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
    function valide_formulaire(){
        if(document.getElementById('login').value == ""){
            alert ('Vous avez oublié de saisir un login!!!!');
            return false;
        }
    return true;
    } 
     
     
    function valide_formulaire(){
        if(document.getElementById('pwd').value == ""){
            alert ('Vous avez oublié de saisir un mot de passe!!!!');
            return false;
        }
    return true;
    }
    Je ne sais pas si c'est possible d'appeler deux fois la meme fonction..

  2. #2
    Expert éminent

    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
    Par défaut
    Bonjour,
    Citation Envoyé par kev484 Voir le message
    Je ne sais pas si c'est possible d'appeler deux fois la meme fonction..
    Faire appel 2 fois à une même fonction oui (heureusement), mais donner le même nom à 2 fonctions, non !
    Donne des noms plus précis (valide_user() et valide_pwd() par exemple)

    A+

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    302
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 302
    Par défaut
    Meme en modifiant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <form action="formulaire.php" enctype="multipart/form-data" method="post" onsubmit="return valide_user();" onsubmit="return valide_mdp();" >
    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
    function valide_user(){
        if(document.getElementById('login').value == ""){
            alert ('Vous avez oublié de saisir un login!!!!');
            return false;
        }
    return true;
    } 
     
     
    function valide_mdp(){
        if(document.getElementById('pwd').value == ""){
            alert ('Vous avez oublié de saisir un mot de passe!!!!');
            return false;
        }
    return true;
    }
    Cela ne fonctionne toujours pas

  4. #4
    Expert éminent

    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
    Par défaut
    Un seul onsubmit par <form>.
    Si tu dois les lancer à la suite, fais une seule fonction au lieu de 2 ...

    A+

  5. #5
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Par défaut
    Tu te compliques l'existence : pourquoi passer par 2 fonctions ? Mets tout dans une seule !
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <form action="formulaire.php" enctype="multipart/form-data" method="post" onsubmit="return valide_formulaire();">
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    function valide_formulaire() {
        if(document.getElementById('login').value == "") {
            alert ('Vous avez oublié de saisir un login!!!!');
            return false;
        }
        if(document.getElementById('pwd').value == "") {
            alert ('Vous avez oublié de saisir un mot de passe!!!!');
            return false;
        }
    return true;
    }
    De toute façon, tu ne peux pas spécifier 2 attributs onsubmit.

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    302
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 302
    Par défaut
    Je ne comprends pas, j'ai fais comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    function valide_formulaire{
        if(document.getElementById('login').value == "") {
            alert ('Vous avez oublié de saisir un login!!!!');
            return false;
        }
        if(document.getElementById('pwd').value == "") {
            alert ('Vous avez oublié de saisir un mot de passe!!!!');
            return false;
        }
    return true;
    }
    L'alert du pwd ne s'affiche pas..

  7. #7
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Par défaut
    Ca s'affiche pour le login ?

    C'est peut-être une faute de recopie mais tu as oublié les () après la définition de ta fonction valide_formulaire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    function valide_formulaire(){

  8. #8
    Expert éminent

    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
    Par défaut
    Citation Envoyé par kev484 Voir le message
    L'alert du pwd ne s'affiche pas..
    En ayant saisi le login ?

  9. #9
    Membre Expert
    Avatar de pc75
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    3 662
    Détails du profil
    Informations personnelles :
    Âge : 69
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2004
    Messages : 3 662
    Par défaut
    Bonjour,

    Et comme ça ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    function valide_formulaire{
        if(document.getElementById('login').value == "") {
            alert ('Vous avez oublié de saisir un login!!!!');
            return false;
        }
        else if(document.getElementById('pwd').value == "") {
            alert ('Vous avez oublié de saisir un mot de passe!!!!');
            return false;
        }
    return true;
    }

  10. #10
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Par défaut
    Citation Envoyé par E.Bzz Voir le message
    En ayant saisi le login ?
    Oui, effectivement : vu que tu fais un return juste après l'alert sur le login, tu ne peux avoir les 2 alerts qui s'affichent l'une après l'autre : avec ton code, c'est soit l'alert du login, soit l'alert du mot de passe.

  11. #11
    Membre expérimenté
    Profil pro
    Inscrit en
    Février 2007
    Messages
    265
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 265
    Par défaut
    Aya...

    le probleme est que tu as un label avec le meme id que ton champ mot de passe donc le test renvioe toujours true pour le mot de passe...

    <label id="pwd">Choisissez votre mot de passe : </label>
    <input type="password" name="pwd" id="pwd"/>

  12. #12
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    302
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 302
    Par défaut
    Merci pour les conseils maintenant le message alert pour le pwd s'affiche du au label id en label for.
    Merci

  13. #13
    Expert éminent

    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
    Par défaut
    Citation Envoyé par jln13 Voir le message
    le probleme est que tu as un label avec le meme id que ton champ mot de passe donc le test renvioe toujours true pour le mot de passe...
    Bien vu

    Une petite précision sur les conséquences :
    ce n'est pas que le test renvoie toujours true : en cas d'ID dupliqué il s'agit d'un plantage pur et simple du code JS

    A+

  14. #14
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Par défaut
    Et pour accéder à un champ de formulaire, on peut aussi conseiller de passer par document.forms["nom_formulaire"].elements["nom_champ"].value plutôt que document.getElementById("...").value : ça marche à tous les coups.

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

Discussions similaires

  1. [FLASH MX2004] Afficher une fenetre Alert
    Par nono2710 dans le forum Flash
    Réponses: 6
    Dernier message: 07/02/2007, 11h16
  2. Réponses: 9
    Dernier message: 24/03/2004, 12h15
  3. [VB.Net] Probleme avec dialogues (confirm et alert)
    Par crackity_jones666 dans le forum ASP.NET
    Réponses: 5
    Dernier message: 26/11/2003, 22h05
  4. [web] alert comme en javascript
    Par Shabata dans le forum Web
    Réponses: 3
    Dernier message: 06/11/2003, 10h14

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