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 :

Un formulaire, deux boutons dont un avec confirmation


Sujet :

JavaScript

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 3
    Points : 1
    Points
    1
    Par défaut Un formulaire, deux boutons dont un avec confirmation
    Bonjour, le sujet est dans le titre, je vous présente maintenant les détails :

    Le formulaire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    echo"<form method=\"post\" action=\"page.php\">";
    echo"<input type=\"submit\" name=\"action\" value=\"Modifier\"/>";
    echo"<input type=\"submit\" name=\"action\" value=\"Supprimer\" 
    onclick=\"".confirm_del("Voulez vous vraiment supprimer cette news ?")."\"/>";
    echo"</form>";
    Notez que le submit en rouge sera par la suite changé en button, mais j'y reviendrai.

    La fonction confirm_del :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    function confirm_del($message)
    {
                $message=addslashes($message);
                return "javascript:if(confirm('$message')) 
    {submit(); alert('TEST OK');} else {alert('TEST Annuler');}";
    }
    Les deux TEST ici me permettent uniquement de vérifier que le "confirm" fonctionne correctement.

    L'après formulaire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
      switch ($_POST['action'])
              {
              case "Supprimer" : $action2 = "supprimer"; break;
              case "Modifier"  : $action2 = "modifier" ; break;
              }
     
      echo $action2;
    Maintenant je vous explique ce qu'il se passe :
    - si je clic sur Modifier, $action2 retourne bien "modifier"
    - si je clic sur Supprimer et ensuite sur OK, j'ai bien mon alert'TEST OK', et $action2 retourne bien "supprimer"
    - MAIS si je clic sur Supprimer et ensuite sur Annuler, j'ai bien mon alert'TEST Annuler', mais $action2 retourne aussi "supprimer"

    Bon, j'ai lu qu'il fallait utiliser <input type=button> à la place de <input type=submit> ... qu'à cela ne tienne ... j'ai changé ...
    Ho! miracle : quand je clic sur Annuler, ça ne retourne plus "supprimer", mais quand je clic sur OK non plus ...

    Dans les milieux autorisés, on s'autorise à penser que ce serait à cause du fait qu'il y a 2 boutons dans le même formulaire ... mouais, j'ai des doute puisque le bouton "Modifier" fonctionne ...


    à vot' bon coeur m'sieur dame

  2. #2
    Modérateur
    Avatar de Bisûnûrs
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 868
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 868
    Points : 16 258
    Points
    16 258
    Par défaut
    Heu, déjà, un événement Javascript ne peut pas appeler une fonction PHP ...

  3. #3
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    Citation Envoyé par Bisûnûrs
    Heu, déjà, un événement Javascript ne peut pas appeler une fonction PHP ...
    Ce n'est pas le cas car la fonction est concatenée, elle retourne juste ce qui est dans la focntion. Le PHP est transparent pour le onclick.
    J'ai aussi fait le test sans la fonction, ie en mettant directement le if(confirm...) dans le form, mais le résultat est exactement identique

    Et d'ailleurs, le code présenté n'a pas d'erreur/bug mais il ne fait simplement pas ce qu'on lui demande quand on veut Annuler

  4. #4
    Membre habitué Avatar de Sarrus
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    180
    Détails du profil
    Informations personnelles :
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Mai 2005
    Messages : 180
    Points : 138
    Points
    138
    Par défaut
    J'ai exactement le même problême... sauf que je ne passe pas par une fonction PHP


  5. #5
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    Apparement ça se bouscule pas pour nous aider

  6. #6
    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
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    echo"<input type=\"button\" name=\"action\" value=\"Supprimer\" 
    onclick=\"".confirm_del("Voulez vous vraiment supprimer cette news ?")."\"/>";
     
    function confirm_del($message)
    {
                $message=addslashes($message);
                if(confirm('$message')) 
    { alert('TEST OK');
    focument.forms[0].submit();
    } else {alert('TEST Annuler');
    }
     
    }
    ...

Discussions similaires

  1. [REST] Gestion de formulaire à deux boutons
    Par sebac dans le forum Services Web
    Réponses: 1
    Dernier message: 27/12/2012, 14h24
  2. Un formulaire - Deux boutons > _Self & _Blank
    Par soiz775 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 7
    Dernier message: 18/07/2009, 20h52
  3. Pb session après formulaire à deux boutons
    Par Lolie11 dans le forum Langage
    Réponses: 11
    Dernier message: 06/06/2007, 15h42
  4. Formulaire deux boutons....
    Par Thierry8 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 7
    Dernier message: 16/09/2005, 09h03
  5. [debutant][formulaire] deux boutons
    Par F.F. dans le forum Balisage (X)HTML et validation W3C
    Réponses: 8
    Dernier message: 08/03/2005, 15h44

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