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

jQuery Discussion :

Demander confirmation avant d'aller vers une cible dans un lien


Sujet :

jQuery

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    284
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 284
    Points : 149
    Points
    149
    Par défaut Demander confirmation avant d'aller vers une cible dans un lien
    Bonsoir,

    J'aimerais permettre aux utilisateurs de mon de confirmer l'action de supprimer quelque chose via un lien, pour cela je me suis fait un petit programme de test mais rien de concluant, ma fonction semble ne même pas être appelé !

    Lorsque je clique sur "test" je suis immédiatement redirigé vers le lien pointé, voici le code:

    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
     
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
      <head>
    	<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
      </head>
      <body>
    	<a onclick="_confirm();" href="www.test.com">TEST</a>
        <script type="text/javascript">
    		function _confirm()
    		{
    			$.('a').click(function(e) {
    				e.preventDefault();
    			}
     
    			return (confirm('Would you really make this test ?'));
    		}
        </script>
      </body>
    </html>
    Merci pour l'aide ! Bonne fin de soirée.

  2. #2
    Membre habitué
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2011
    Messages
    89
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Philippines

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2011
    Messages : 89
    Points : 142
    Points
    142
    Par défaut
    Il faut mettre l'événement hors de la fonction et enlever le onclick html :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    	<a href="www.test.com">TEST</a>
        <script type="text/javascript">
    jQuery(function(){
    		function _confirm()
    		{
    			return (confirm('Would you really make this test ?'));
    		}
    		$('a').click(_confirm);
    });
        </script>

  3. #3
    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
    il suffit de ne pas mettre le prevent default et de faire un retour du confirm

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    <a href="www.test.com" id='foo' >TEST</a>
        <script type="text/javascript">
      $(function(){
                 $("#foo").click( 
                                     return (confirm('Would you really make this test ?'));
             )}
     
    })		
     
     
        </script>

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    284
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 284
    Points : 149
    Points
    149
    Par défaut
    Bonjour à tous,

    Merci pour vos réponses ! Cependant SpaceFrog, ton script est la première chose que j'avais essayé et je viens de re-tester ça ne fonctionne pas (quand je clique sur le lien, je suis redirigé sur la cible directement).

    La méthode de MrPringle fonctionne de mon côté mais c'est vrai qu'elle est un peu plus complexe à déchiffrer !

    J'attends ton retour avant de clore le sujet SpaceFrog, merci à vous, bonne journée.

  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
    manquait juste le function pour le return
    je viens de tester ceci qui focntionne très bien
    le href est bien inhibé en cas de click négatif
    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
    <script type="text/javascript">
      $(function(){
                 $("#foo").click(  function(){
                                     return confirm('Would you really make this test ?') ;
             })
             })
     
     
     
     
        </script>
        </head>
    <body >
     
    <a href="javascript:alert('parti')" id='foo' >TEST</a>
        </body>
    </html>

  6. #6
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    284
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 284
    Points : 149
    Points
    149
    Par défaut
    C'est vrai que ca paraît logique !

    Merci encore ! Bonne journée à vous !

  7. #7
    Membre habitué
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2011
    Messages
    89
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Philippines

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2011
    Messages : 89
    Points : 142
    Points
    142
    Par défaut
    Juste pour info, ma "version" est la même sauf qu'au lieu d'utiliser une fonction anonyme, je la déclare et c'est elle qui est appelée lors du clic.

    Ça reprend tout à fait ton 'onclick="_confirm();' avec le même nom de fonction, mais en le détachant du html.

  8. #8
    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
    oui Mr Pringle
    je m'en suis rendu compte après

    je m'étais focalisé sur le preventDefault original ...

  9. #9
    Membre habitué
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2011
    Messages
    89
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Philippines

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2011
    Messages : 89
    Points : 142
    Points
    142
    Par défaut
    Pas de souci.

    En fait mon message était plutôt explicatif pour student_php qui trouvait ma façon de faire plus dure à déchiffrer.

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

Discussions similaires

  1. [AC-2003] Demander confirmation avant vidage d'une table
    Par olivier777 dans le forum VBA Access
    Réponses: 2
    Dernier message: 04/10/2010, 14h09
  2. Aller vers une autre fenêtre de dialogue
    Par Emyleet dans le forum MFC
    Réponses: 35
    Dernier message: 30/04/2008, 16h02
  3. Savoir le temps passé sur une page avant de passer vers une autre page
    Par karimphp dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 04/09/2007, 23h57
  4. Réponses: 2
    Dernier message: 02/08/2007, 08h48
  5. Réponses: 4
    Dernier message: 04/04/2006, 16h09

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