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 :

Afficher un message de confirmation avant suppression des messages


Sujet :

JavaScript

  1. #1
    Inscrit
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    531
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 531
    Points : 282
    Points
    282
    Par défaut Afficher un message de confirmation avant suppression des messages
    Bonjour,

    Je cherche à faire un truc assez basique normalement, mais étant nul en javascript, ça me pose un problème.

    Voilà : j'ai une messagerie qui stocke des messages privés. Pour chaque message privé il y a une checkbox.
    Le gars coche les messages à supprimer et clique le bouton "supprimer", forcément ça les supprime (ça c'est en php).

    Mais entre le moment où le gars clique "supprimer" et le moment où les messages sont supprimés, je souhaite qu'une bouate de dialogue s'ouvre et demande à ce que l'on confirme que l'on veut vraiment supprimer les messages cliqués. Sinon, ça n'efface pas.

    Sauriez-vous faire cela svp ?


    N.B : vous noterez la magnifique orthographe du mot "boite de dialogue", ici écrit "bouate de dialogue". Je ne me suis pas senti le courrage de rectifier, c'était trop original comme faute d'orthographe spontané. Désolé.

  2. #2
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Points : 20 778
    Points
    20 778
    Par défaut
    Tu dois utiliser la fonction Confirm si j'ai bien compris ce que tu veux faire.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if(confirm('texte')) action à faire si click sur ok
    voici aussi un petit exemple : Comment demander une confirmation une fois que l'on a cliqué sur un lien, ou sur un bouton ?

  3. #3
    Inscrit
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    531
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 531
    Points : 282
    Points
    282
    Par défaut
    Ok, c'est vraiment trop simple, désolé .

    Alors pour compliquer un peu et histoire de pas avoir ouvert un sujet bidon, ce serait bien que le message de la boite de dialogue change selon qu'au moins une case est cochée ou bien aucune.

    Exemple :
    - Avec une case cochée, lorsque le gars clique "supprimer", la boite de dialogue affiche "êtes vous certains de vouloir supprimer ce message".
    - Si aucune case n'est cochée, le message est "aucun message sélectionné".

    C'est tout de même plus rationnel.
    Si quelqu'un sait faire ça, en attendant que je me plonge dans un tuto javascript...

    Merci d'avance

  4. #4
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Points : 20 778
    Points
    20 778
    Par défaut
    Plutot simple

    tu fais une fonction qui est appelée au clic sur ton bouton supprimer. Dans cette fonction tu testes tes checkbox et en fonction du nombre, tu définis ton message.

    Ce serait plus pratique si tes check avaient le même nom. par exemple check
    Puis tu fais comme ceci dans la fonction : Comment récupérer l'état de cases à cocher ?
    Ce qui te permettra te faire ton compteur de checked

  5. #5
    Inscrit
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    531
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 531
    Points : 282
    Points
    282
    Par défaut
    Ok

    Bon alors du haut de mon incompétence en javascript, j'ai pondu ce script, qui donne une misérable omelette :
    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
    <form action="messages-recus.php" method="post" name="suppressionMessage>
     
    <input type="checkbox" name="supprimer[]" value="10">
    <input type="checkbox" name="supprimer[]" value="11">
     
    <input type="submit" name="supprime" value="supprimer"
    for (i=0; i<document.suppressionMessage.supprimer.length; i++)
     {
        if (document.suppressionMessage.supprimer[i].checked) 
        { onclick="return confirm(\'Voulez-vous vraiment supprimer ce(s) message(s) ?\');";}
       else 
         {onclick="return confirm(\'pas de message sélectionnés\');":}
    } 
    >
    </form>

    Voilà, donc ça foire lamentablement. Le but étant d'afficher un message de confirmation ou d'erreur, via la fonction confirm(), selon qu'au moins un ou aucun message a été sélectionné par le visiteur qui clique sur "supprimer".

    Déjà à mon avis il faudrait faire une fonction à placer dans la balise head, mais bon... need help

  6. #6
    Membre du Club
    Inscrit en
    Août 2006
    Messages
    45
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Août 2006
    Messages : 45
    Points : 45
    Points
    45
    Par défaut
    Bon sans aucune verification, ca donnerait un truc du genre ce que tu veux faire. Je viens de le pondre ne deux minutes car je suis presser, mais tu devrais trouver des idees la de-dans
    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
    <script language="JavaScript" type="text/JavaScript">
    test=0;
    function check_value()
    {
    	for (i=0;i<document.suppressionMessage.supprimer.length; i++)
    	{
    		if (document.suppressionMessage.supprimer[i].checked) test++;
    	} 
    	if (test>0) confirmation();
    	else alert('aucun message selectionne');
    }
    function confirmation() {
    	var msg = confirm("Are you sure you want to delete it?");
    	if (msg) document.suppressionMessage.submit;
    }
    </script>
     
    <form action="messages-recus.php" method="post" name="suppressionMessage>
     
    <input type="checkbox" name="supprimer[]" value="10">
    <input type="checkbox" name="supprimer[]" value="11">
     
    <input type="button" name="supprime" value="supprimer" onclick="check_value()">
    </form>

  7. #7
    Inscrit
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    531
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 531
    Points : 282
    Points
    282
    Par défaut
    hum... un grand merci à toi cher Fabster pour les quelques minutes d'attention que tu m'as accordé.

    Toutefois, mauvais nouvelle, ça ne fonctionne point. En fait ça ne retourne rien, checkbox cochés ou pas, ça ne retourne aucun message de confirmation via confirm().

    Si quelqu'un a une idée...
    Merci d'avance

  8. #8
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    93
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 93
    Points : 111
    Points
    111
    Par défaut
    salut,

    change le nom de la variable "test", ca fé foirer javascript ce nom la!
    La guerre 14-18 avait fait un civil de tué pour dix militaires. 39-45 : un civil pour un militaire. Engagez-vous! Pour la prochaine, seuls les militaires seront survivants.

  9. #9
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    93
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 93
    Points : 111
    Points
    111
    Par défaut
    c'est encore moi! il manque un cote la :

    Citation Envoyé par Fabster
    <form action="messages-recus.php" method="post" name="suppressionMessage">
    </form>
    La guerre 14-18 avait fait un civil de tué pour dix militaires. 39-45 : un civil pour un militaire. Engagez-vous! Pour la prochaine, seuls les militaires seront survivants.

  10. #10
    Inscrit
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    531
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 531
    Points : 282
    Points
    282
    Par défaut
    Salut Ntilou,

    Bah ça fonctionne toujours pas hein.

    J'ai remplacé test par "debut", j'ai rajouté le quote mais ça change rien du tout. en fait ça ne déclenche aucune action.

    J'ai aussi viré le input type submit pour ajouter input type buton et bien ça ne fait rien du tout du tout.

  11. #11
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    93
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 93
    Points : 111
    Points
    111
    Par défaut
    tiens ca ca marche j'ai vérifié :

    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
     
     
    <script language="JavaScript" type="text/JavaScript">
    function check_value()
    {var supp = 0;
     for (i=0;i<document.suppressionMessage.supprimer.length; i++)
     {
      if (document.suppressionMessage.supprimer[i].checked) supp++;
     } 
     if (supp>0) confirmation();
     else alert('aucun message selectionne');
    }
    function confirmation() {
     var msg = confirm("Are you sure you want to delete it?");
     if (msg) document.suppressionMessage.submit();
    }
    </script>
    <form action="messages-recus.php" method="post" name="suppressionMessage">
    <input type="checkbox" name="supprimer" value="10">
    <input type="checkbox" name="supprimer" value="11">
    <input type="button" name="supprime" value="supprimer" onclick="check_value()">
    </form>
    La guerre 14-18 avait fait un civil de tué pour dix militaires. 39-45 : un civil pour un militaire. Engagez-vous! Pour la prochaine, seuls les militaires seront survivants.

  12. #12
    Inscrit
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    531
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 531
    Points : 282
    Points
    282
    Par défaut
    Bein chez moi ça fonctionne pas... bon je vais le faire en php c'est pas grave.

    Merci quand même

  13. #13
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Points : 20 778
    Points
    20 778
    Par défaut
    Je viens de tester également mais moi ca fonctionne.

    Qu'est ce qui ne fonctionne pas pour toi ?

  14. #14
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    93
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 93
    Points : 111
    Points
    111
    Par défaut
    une question idiote mais sait-on jamais :

    le javascript est-il activé sur ta machine ?
    La guerre 14-18 avait fait un civil de tué pour dix militaires. 39-45 : un civil pour un militaire. Engagez-vous! Pour la prochaine, seuls les militaires seront survivants.

  15. #15
    Inscrit
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    531
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 531
    Points : 282
    Points
    282
    Par défaut
    Oui oui, javascript est bien activé

    Et bien chez moi j'ai deux erreur : si je copie/colle le script, alors le bouton submit ne fonctionne pas.

    Si je change la ligne du submitt, les messages s'effacent normalement mais sans messages de confirmation non plus.

  16. #16
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Points : 20 778
    Points
    20 778
    Par défaut
    Serait-il possible de voir ce que tu as fait, surtout l'asemblage qui ne fonctionne pas

  17. #17
    Inscrit
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    531
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 531
    Points : 282
    Points
    282
    Par défaut
    Bon alors, je viens donc de réessayer, en faisant bêtement un copié collé du script.
    En cliquant sur "submitt" il ne se passe rien du tout du tout.

    Je vois une différence entre ce script et ma page, au niveau de la ligne des checkbox :

    ici :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="checkbox" name="supprimer" value="10">
    Dans ma page :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="checkbox" name="supprimer[]" value="'.$R[id].'">
    La différence se trouve au niveau du name, avec le [].

Discussions similaires

  1. ne pas afficher le message de confirmation de suppression d'une feuille
    Par jffaber dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 07/08/2008, 15h56
  2. Réponses: 2
    Dernier message: 24/04/2008, 16h42
  3. Message de confirmation avant suppression
    Par trax020 dans le forum JSF
    Réponses: 6
    Dernier message: 17/06/2007, 22h06
  4. [Struts] Comment afficher des messages de confirmation
    Par vallica dans le forum Struts 1
    Réponses: 8
    Dernier message: 28/04/2006, 14h25
  5. Réponses: 2
    Dernier message: 03/08/2004, 16h24

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