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

Langage PHP Discussion :

Lancer une action JS depuis un bouton de formulaire


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2005
    Messages
    98
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2005
    Messages : 98
    Points : 67
    Points
    67
    Par défaut Lancer une action JS depuis un bouton de formulaire
    Bonjour,
    je m'explique :

    J'ai un bouton de formulaire de type submit donc, et j'aimerai que lorsque que ce bouton est appuyé, un message de confirmation apparaisse. On peut donc utiliser confirm() pour le message, mais le problème est que si j'associe un evenement à mon bouton onClick, je n'arrive pas à en empécher l'exécution :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    <input type="submit" value="Supprimer l'attachement" 
    onclick='if (!confirm("Voulez vous vraiment supprimer cet attachement?")) {self.location=("Attachements.php");}'>
    Je ne pense pas qu'il y ait de possibilité de le faire comme ma ligne ci dessus, sinon merci de me montrer.

    Je pense que je pourrais faire comme ça sinon :

    Ce code est celui qui est exécuté après validation du 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
     
    if ((isset($_GET["supprimer"])) && ($_GET["supprimer"] == "form2")){
    $numOE = $_GET['selectAtta'];
     
    /* Insérer ici le JS (voir à la fin) */
     
    $selectSQL = sprintf("SELECT ID_Ordre FROM ordre WHERE numOE=%s",$numOE);
    $Result = mysql_query($selectSQL, $serveur) or die(mysql_error());
    $Sel = mysql_fetch_assoc($Result);
    $ID = $Sel['ID_Ordre'];
      $deleteSQL = sprintf("DELETE FROM attachement WHERE ID_ATTA=%s",$ID);
     
      $Result1 = mysql_query($deleteSQL, $serveur) or die(mysql_error());
     
    echo "<script language=\"Javascript\" type=\"text/javascript\">";
    echo "document.location=\"Attachements.php\";";
    echo "</script>";
    }

    Je pourrais peut être insérer un code JS à l'endroit mentionné dans le code ci dessus comme ceci : (en ajoutant un if devant confirm() et en exécutant le code php de suppression qui suit. Si ce n'est pas confirmé, alors on n'executera pas le code PHP!)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    echo "<script language=\"Javascript\" type=\"text/javascript\">";
    echo "confirm(\"Voulez vous vraiment supprimer l'attachement lié à l'OE numéro ".$_GET['selectAtta']."?\");";
    echo "</script>";
    Est-ce possible? (j'espère que je me suis bien exprimé!)
    Merci d'avance

  2. #2
    Membre expérimenté

    Homme Profil pro
    Inscrit en
    Janvier 2004
    Messages
    1 249
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 249
    Points : 1 565
    Points
    1 565
    Par défaut
    Alors deja tu est dans le forum php et non javascript... donc t'as peu de chances qu'on puisse répondre a ton probleme.

    Mais bon... ce que j'essayerais :

    * utiliser un input de type "button" et non submit
    * En cas de confirmation positive, utiliser le javascript document.form.(le nom de ton form).submit();

  3. #3
    Expert éminent
    Avatar de Swoög
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    6 045
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    Points : 8 339
    Points
    8 339
    Par défaut
    Ce que propose Flagnag est une solution, sinon tu peux aussi rajouter
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    onsubmit="if(confirm('Voulez vous vraiment supprimer cet attachement?')) { return true; } else { window.location.href='Attachements.php'; return false; }"
    sur ta balise form...
    Rédacteur "éclectique" (XML, Cours PHP, Cours JavaScript, IRC, Web...)
    Les Règles du Forum - Mon Site Web sur DVP.com (Développement Web, PHP, (X)HTML/CSS, SQL, XML, IRC)
    je ne répondrai à aucune question technique via MP, MSN ou Skype : les Forums sont là pour ça !!! Merci de me demander avant de m'ajouter à vos contacts sinon je bloque !
    pensez à la balise [ code ] (bouton #) et au tag (en bas)

  4. #4
    Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2005
    Messages
    98
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2005
    Messages : 98
    Points : 67
    Points
    67
    Par défaut
    Merci beaucoup ça marche très bien comme ça! (je ne connaissais pas le onsubmit() dans le form)

    (J'ai posté dans la partie PHP car je pensais qu'il faudrait générer le JS avec du PHP)

    Merci encore

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

Discussions similaires

  1. Lancer une action à partir d'un bouton d'un autre layout
    Par zerkos dans le forum Composants graphiques
    Réponses: 1
    Dernier message: 12/02/2013, 00h19
  2. [WD14] Lancer une macro Word depuis un bouton en windev
    Par Pilouz dans le forum WinDev
    Réponses: 1
    Dernier message: 26/01/2010, 17h52
  3. [AC-2003] Ouvrir une autre base depuis un bouton sur formulaire
    Par Bernard67 dans le forum VBA Access
    Réponses: 2
    Dernier message: 07/05/2009, 13h38
  4. Lancer une action struts sans cliquer sur un bouton submit
    Par cryosore94 dans le forum Struts 1
    Réponses: 10
    Dernier message: 22/03/2009, 16h08
  5. Lancer une action depuis une autre action
    Par anaon dans le forum Struts 1
    Réponses: 6
    Dernier message: 04/08/2006, 19h38

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