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 :

[Return] Validation formulaire


Sujet :

JavaScript

  1. #1
    Membre averti Avatar de NeHuS
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    343
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 343
    Points : 316
    Points
    316
    Par défaut [Return] Validation formulaire
    Salut tout le monde ,

    je voudrais comprendre pourquoi lors d'un submit de formulaire lorsque on appelle une fonction js dans le onsubmit il faut ecrire onsubmit="return lafonction();" et non pas juste onsubmit="lafonction();" sinon le formulaire est quand meme envoyé.

    ( Soit "lafonction" une fonction qui retourne true si tt est ok , false sinon )

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <form method="post" action="une_page.une_extension" name="un_form" onSubmit="return Check_Form();"> // méthode OK
     
    <form method="post" action="une_page.une_extension" name="un_form" onSubmit="Check_Form();"> // méthode KO

  2. #2
    Membre actif Avatar de Seb19
    Homme Profil pro
    Concepteur SOA
    Inscrit en
    Septembre 2005
    Messages
    217
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Deux Sèvres (Poitou Charente)

    Informations professionnelles :
    Activité : Concepteur SOA

    Informations forums :
    Inscription : Septembre 2005
    Messages : 217
    Points : 292
    Points
    292
    Par défaut
    Bonjour,

    Tout simplement parce que comme sur tous les événements ("onclick","onsubmit"…), le script appelé doit renvoyer un booléen, true ou false. S'il ne renvoie rien, l'événement reçoit true par défaut.
    Ce booléen indique si l'événement doit se propager, c'est-à-dire si l'événement par défaut doit s'exécuter.

  3. #3
    Membre averti Avatar de NeHuS
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    343
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 343
    Points : 316
    Points
    316
    Par défaut
    Seb19 je comprends tout a fait ce que tu dis ,

    le script appelé doit renvoyer un booléen, true ou false.
    mais pourquoi dois je reecrire return ma_fonction dans le onsubmit alors que la fonction renvoie deja true ou false ?

    comme je l'ai dis
    ( Soit "lafonction" une fonction qui retourne true si tt est ok , false sinon )
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    function lafonction() {
     
    if (ok) return true ; 
    else return false ;
     
    }
    Ce booléen indique si l'événement doit se propager, c'est-à-dire si l'événement par défaut doit s'exécuter.
    et bien si ma fonction return false pourquoi ( j'insiste encore ) dois je mettre return lafonction() , et non pas simplement lafonction() dans le onsubmit !

  4. #4
    Membre actif Avatar de Seb19
    Homme Profil pro
    Concepteur SOA
    Inscrit en
    Septembre 2005
    Messages
    217
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Deux Sèvres (Poitou Charente)

    Informations professionnelles :
    Activité : Concepteur SOA

    Informations forums :
    Inscription : Septembre 2005
    Messages : 217
    Points : 292
    Points
    292
    Par défaut
    Citation Envoyé par NeHuS
    et bien si ma fonction return false pourquoi ( j'insiste encore ) dois je mettre return lafonction() , et non pas simplement lafonction() dans le onsubmit !
    Justement, il faut mettre return dans le onsubmit pour ne pas lancer le formulaire si ta fonction retourne false. Cela peut être un moyen de validation de ton formulaire.

    Voila ce que j'ai trouvé en espérant que cela soit plus clair :
    Avec return, le booléen renvoyé par la fonction dans le repère d'ouverture <form> est renvoyé au navigateur. Le navigateur connaît les deux valeurs true et false. En relation avec onSubmit=, il réagit de telle façon qu'il n'envoie le formulaire que si la valeur est true. Si la valeur est false, l'envoi du formulaire est empêché.

  5. #5
    Membre averti Avatar de NeHuS
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    343
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 343
    Points : 316
    Points
    316
    Par défaut
    Je te remercie Seb de ta reponse , je mets resolu mais je trouve ça etrange qu'il faut mettre deux return ( dans des langages genre c je n'en mettrais qu'un )

    Merci

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

Discussions similaires

  1. Validation formulaire return false mais envoie
    Par zulot dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 05/09/2008, 11h07
  2. Validation formulaire dynamique
    Par odelayen dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 31/08/2005, 17h47
  3. test validation formulaire
    Par Nkubi dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 28/06/2005, 11h22
  4. Valider Formulaire
    Par Gourouni dans le forum ASP
    Réponses: 18
    Dernier message: 06/01/2005, 15h34
  5. Pb validation formulaire
    Par cosminutza dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 03/12/2004, 10h35

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