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 :

1 formulaire mais deux vérifications à faire en fonction du bouton choisi


Sujet :

JavaScript

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    284
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 284
    Points : 79
    Points
    79
    Par défaut 1 formulaire mais deux vérifications à faire en fonction du bouton choisi
    Bonsoir.
    J'ai un formulaire avec deux boutons de validation et donc deux vérification.
    Voici un exemple.

    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
    <?php
    print_r($_POST);
    ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Test JS</title>
    <script type="text/javascript">
            function verif1()
            {
                    alert('verif1 réussie');
                    if(4===3)
                            document.formulaire.submit();   
            }
     
            function verif2()
            {
                    alert('verif2 réussie');
                    if(2===2)
                            document.formulaire.submit();
            }
    </script>
    </head>
     
    <body onload="alert('Page chargée');">
            <form id="formulaire" action="test.php" method="post" name="formulaire">
            <input type="text" id="champ1" name="champ1" /> Champ 1<br />
            <input type="text" id="champ2" name="champ2" /> Champ 2 <input type="button" id="bt" value="Ajouter" name="add" onclick="verif1();" /><br />
            <input id="bt2" type="button" value="Sauvegarder" name="save" onclick="verif2();" />
        </form>
    </body>
    </html>
    Voila ici tout fonctionne, sauf que comme mes boutons ne sont pas des submit, je n'ai pas de $_POST correspondant. Donc niveau js, ça ne pose pas de problème mais après je ne peux pas faire de traitement adéquat car je ne sais pas quel bouton a été cliqué.
    J'ai donc fait un truc comme ça:

    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
    <?php
    print_r($_POST);
    ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Test JS</title>
    <script type="text/javascript">
            function verif1()
            {
                    alert('verif1 réussie');
                    if(4===3)
                            document.formulaire.submit();   
            }
     
            function verif2()
            {
                    alert('verif2 réussie');
                    if(2===2)
                            document.formulaire.submit();
            }
    </script>
    </head>
     
    <body onload="alert('Page chargée');">
            <form id="formulaire" action="test.php" method="post" name="formulaire">
            <input type="text" id="champ1" name="champ1" /> Champ 1<br />
            <input type="text" id="champ2" name="champ2" /> Champ 2 <input type="submit" id="bt" value="Ajouter" name="add" onclick="verif1();" /><br />
            <input id="bt2" type="submit" value="Sauvegarder" name="save" onclick="verif2();" />
        </form>
    </body>
    </html>
    Niveau PHP, no soucis, le $_POST est bien crée donc je sais sur quel bouton j'ai cliqué. Par contre niveau JS, que la condition soit bonne ou non, il soumet le formulaire.

    Comment puis je faire pour que cela fonctionne à la fois pour le js(pouvoir faire une vérif selon le bouton) et que cela fonctionne en PHP, connaitre aussi le bouton afin de pouvoir appliquer un traitement spécifique?

  2. #2
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Octobre 2002
    Messages
    127
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2002
    Messages : 127
    Points : 52
    Points
    52
    Par défaut
    du point de vue php tu ajoute name = "bt1" et name = "bt2" à tes 2 boutons et tu pourras ainsi savoir quel bouton a été choisi grâce a $_POST['bt1'] et $_POST['bt2']

  3. #3
    Membre expérimenté
    Avatar de Jumano
    Profil pro
    Inscrit en
    Février 2007
    Messages
    1 163
    Détails du profil
    Informations personnelles :
    Âge : 56
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 1 163
    Points : 1 595
    Points
    1 595
    Par défaut
    Bonsoir,
    Si tu veux que lorsque ta vérification est fausse que le formulaire ne soit pas transmis, il faut rajouter :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    if (.....) {
    ..........
    ..........
     
    } else {
     
    alert("Erreur lors de la vérification !") ;
    return false ;

  4. #4
    Membre émérite
    Inscrit en
    Septembre 2002
    Messages
    2 307
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 2 307
    Points : 2 814
    Points
    2 814
    Par défaut
    utilise un champ caché!

  5. #5
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 663
    Points
    66 663
    Billets dans le blog
    1
    Par défaut
    +1 pour BOUKI
    un simple test coté php te permettra de savoir lequel des deux boutons à été cliqué ...

Discussions similaires

  1. Réponses: 2
    Dernier message: 16/11/2013, 19h36
  2. Un formulaire mais deux boutons
    Par yann18 dans le forum jQuery
    Réponses: 2
    Dernier message: 11/01/2011, 14h26
  3. Changer une image en fonction du bouton choisi
    Par brunochp dans le forum Flash
    Réponses: 1
    Dernier message: 31/08/2010, 14h15
  4. deux input type submit dans un formulaire mais 2 actions différentes
    Par khamett dans le forum Général JavaScript
    Réponses: 14
    Dernier message: 19/04/2008, 19h34
  5. [VB6] Comment faire une fonction qui renvoie 2 résultats
    Par tazarine dans le forum VB 6 et antérieur
    Réponses: 10
    Dernier message: 15/01/2004, 00h13

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