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 :

Bouton image qui envoie ou non un formulaire si confirmation de l'utilisateur


Sujet :

JavaScript

  1. #1
    Membre du Club
    Inscrit en
    Septembre 2008
    Messages
    384
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 384
    Points : 52
    Points
    52
    Par défaut Bouton image qui envoie ou non un formulaire si confirmation de l'utilisateur
    Bonjour,

    Je cherche à réaliser un bouton qui prendrait l'apparence d'une petite image, lorsque l'utilisateur clique dessus une boite de dialogue apparaitrait pour lui demander de confirmer son action ou l'annuler.

    si l'utilisation accepte je voudrai que le formulaire GET soit envoyé : /in-out/in-out.htm?DELETE=all
    si l'utilisateur clique sur annuler rien ne se passe.


    Voici ce que j'ai écris, mais cela ne fonctionne pas correctement :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <form method="get" action="in-out.htm">
    	<input type="hidden" name="DELETE" value="all" id = DEL_ALL>
    	<input type ="image" src="./delete-list.png"  onclick="ConfirmationEffacement()" align="center" type="image"> Delete all sensors
    </form>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <script language="JavaScript">
       function ConfirmationEffacement()
        {
           if (confirm("Voulez-vous supprimer tous les capteurs")) 
           {   // Clic sur OK
               document.bgColor="red";
     
           }
       }
    </SCRIPT>
    Pour le moment, si l'utilisateur confirme l'action , le formulaire envoyé à cet aspect :

    /in-out/in-out.htm?DELETE=all&x=23&y=15
    et le fond de l'écran passe en rouge

    Je ne sais pas pourquoi des arguments supplémentaires sont ajoutés au vol lors de l'envoi du formulaire GET : x=23&y=15

    --

    Si l'utilisateur annule l'action par, le formulaire est malgré tout envoyé, ça ne va pas.
    par contre l'écran reste dans sa couleur initiale.

    Pourquoi le formulaire est envoyé dans tous les cas ?

    Merci pour votre aide,

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    1/ x et y sont les coordonnees où le bouton-image a été cliqué.
    Peut etre utile, mais pas ici.

    2/ il manque else return false; (empecher l'action par defaut = envoi)

  3. #3
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2014
    Messages
    352
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2014
    Messages : 352
    Points : 349
    Points
    349
    Par défaut
    Citation Envoyé par lcoulon Voir le message
    si l'utilisation accepte je voudrai que le formulaire GET soit envoyé : /in-out/in-out.htm?DELETE=all
    si l'utilisateur clique sur annuler rien ne se passe.
    Salut.
    utilises onclick = 'return confirm("Voulez-vous supprimer tous les capteurs?")'
    dans ton bouton de type image et en passant je te signale que t'as défini type="image" à 2 reprises dans ton input.

  4. #4
    Membre du Club
    Inscrit en
    Septembre 2008
    Messages
    384
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 384
    Points : 52
    Points
    52
    Par défaut
    Bonjour

    J'ai modifié comme suit, mais à chaque fois le formulaire est envoyé que l'utilisateur accepte ou refuse ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <form method="get" action="in-out.htm">
    	<input type="hidden" name="DELETE" value="all" id = DEL_ALL>
    	<input type ="image" src="./delete-list.png" onclick="ConfirmationEffacement()" align="center"> Delete all sensors
    </form>
    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
     
    <script language="JavaScript">
     function ConfirmationEffacement()
        {
           if (confirm("Voulez-vous supprimer tous les capteurs")) 
           {   // Clic sur OK
               document.bgColor="red";
           }
     
           else
           {
        	alert("Action Annulée")
        	return false;
      	   }
    }
    </script>

  5. #5
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Kasko t'a donné la solution :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <form method="get" action="in-out.htm">
    	<input type="hidden" name="DELETE" value="all" id="1">
    	<input type ="image" src="./delete-list.png" onclick="return confirm('Voulez-vous supprimer tous les capteurs');" align="center"> Delete all sensors
    </form>

  6. #6
    Membre du Club
    Inscrit en
    Septembre 2008
    Messages
    384
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 384
    Points : 52
    Points
    52
    Par défaut
    Ok donc pas de script nécessaire alors.

    Par contre, est il possible que la fenetre d'alerte qui contient le message ai un fond rouge avec une couleur de font en blanc ?

    Merci à vous,

  7. #7
    Invité
    Invité(e)
    Par défaut
    Si c'est possible.
    Mais avec une popin personnalisée.

  8. #8
    Membre du Club
    Inscrit en
    Septembre 2008
    Messages
    384
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 384
    Points : 52
    Points
    52
    Par défaut
    Pouvez vous me montrer le code à utiliser pour faire cela svp ?

  9. #9
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    "popin jQuery" "fenetre modale"

    Dernière modification par Invité ; 30/06/2016 à 08h49.

  10. #10
    Membre du Club
    Inscrit en
    Septembre 2008
    Messages
    384
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 384
    Points : 52
    Points
    52
    Par défaut
    Merci, mais je ne peux pas utiliser jQuery mais c'est pour un système embarqué

    je peux utiliser Javascript ou du simple HTML

  11. #11
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2014
    Messages
    352
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2014
    Messages : 352
    Points : 349
    Points
    349
    Par défaut
    Citation Envoyé par lcoulon Voir le message
    je peux utiliser Javascript ou du simple HTML
    Si tu peux utiliser Javascript ça veux dire que tu peux utiliser jQuery.
    En fait,jQuery est juste un framework Javascript.

  12. #12
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 310
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 310
    Points : 9 522
    Points
    9 522
    Billets dans le blog
    1
    Par défaut
    Sinon, pour ton problème initial, rien ne t'empêche de passer par une méthode particulière, il faut juste retourner le boolean à l'appelant comme ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <input type ="image" src="./delete-list.png" onclick="return ConfirmationEffacement()" align="center">
    et que ta méthode revoit true ou false en fonction de la confirmation comme ça t'a été expliqué.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
     
    function ConfirmationEffacement()
    {
       if (confirm("Voulez-vous supprimer tous les capteurs")) 
       {
          document.bgColor="red";
          return true;
       }
       return false;
    }
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

Discussions similaires

  1. [HTML 5] Comment avoir deux bouton sumbit qui envoie le formulaire dans 2 pages différentes
    Par pierrot10 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 09/03/2010, 06h54
  2. Formulaire bouton "Envoyer" qui n'envoie pas
    Par Drone dans le forum Général JavaScript
    Réponses: 21
    Dernier message: 13/01/2010, 11h03
  3. Réponses: 1
    Dernier message: 31/10/2005, 09h33
  4. formulaire/lien/bouton image envoyer
    Par charlotte10 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 8
    Dernier message: 19/08/2005, 16h46

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