Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > JavaScript > Bibliothèques & Frameworks > jQuery
jQuery Forum d'entraide sur le framework jQuery. Avant de poster : Tutoriels jQuery, FAQ jQuery, Tous les tutoriels JavaScript, Toutes les FAQ JavaScript
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 02/10/2011, 23h50   #1
Membre régulier
 
Inscription : octobre 2010
Messages : 253
Détails du profil
Informations forums :
Inscription : octobre 2010
Messages : 253
Points : 92
Points : 92
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 :
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.
student_php est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/10/2011, 01h28   #2
Membre habitué
 
Homme Mathias Philippe
Développeur Web
Inscription : septembre 2011
Messages : 75
Détails du profil
Informations personnelles :
Nom : Homme Mathias Philippe
Localisation : Philippines

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

Informations forums :
Inscription : septembre 2011
Messages : 75
Points : 121
Points : 121
Il faut mettre l'événement hors de la fonction et enlever le onclick html :

Code :
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>
MrPringle est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 03/10/2011, 08h23   #3
Rédacteur/Modérateur
 
Avatar de SpaceFrog
 
Homme
Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Inscription : mars 2002
Messages : 30 040
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Royaume-Uni

Informations professionnelles :
Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Secteur : Industrie

Informations forums :
Inscription : mars 2002
Messages : 30 040
Points : 45 141
Points : 45 141
il suffit de ne pas mettre le prevent default et de faire un retour du confirm

Code :
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>
__________________
Ma page Developpez
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
Votre post est résolu ? Alors n'oubliez pas le Tag


réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
SpaceFrog est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 03/10/2011, 10h53   #4
Membre régulier
 
Inscription : octobre 2010
Messages : 253
Détails du profil
Informations forums :
Inscription : octobre 2010
Messages : 253
Points : 92
Points : 92
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.
student_php est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/10/2011, 11h12   #5
Rédacteur/Modérateur
 
Avatar de SpaceFrog
 
Homme
Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Inscription : mars 2002
Messages : 30 040
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Royaume-Uni

Informations professionnelles :
Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Secteur : Industrie

Informations forums :
Inscription : mars 2002
Messages : 30 040
Points : 45 141
Points : 45 141
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 :
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>
__________________
Ma page Developpez
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
Votre post est résolu ? Alors n'oubliez pas le Tag


réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
SpaceFrog est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 03/10/2011, 11h33   #6
Membre régulier
 
Inscription : octobre 2010
Messages : 253
Détails du profil
Informations forums :
Inscription : octobre 2010
Messages : 253
Points : 92
Points : 92
C'est vrai que ca paraît logique !

Merci encore ! Bonne journée à vous !
student_php est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/10/2011, 11h59   #7
Membre habitué
 
Homme Mathias Philippe
Développeur Web
Inscription : septembre 2011
Messages : 75
Détails du profil
Informations personnelles :
Nom : Homme Mathias Philippe
Localisation : Philippines

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

Informations forums :
Inscription : septembre 2011
Messages : 75
Points : 121
Points : 121
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.
MrPringle est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/10/2011, 13h31   #8
Rédacteur/Modérateur
 
Avatar de SpaceFrog
 
Homme
Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Inscription : mars 2002
Messages : 30 040
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Royaume-Uni

Informations professionnelles :
Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Secteur : Industrie

Informations forums :
Inscription : mars 2002
Messages : 30 040
Points : 45 141
Points : 45 141
oui Mr Pringle
je m'en suis rendu compte après

je m'étais focalisé sur le preventDefault original ...
__________________
Ma page Developpez
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
Votre post est résolu ? Alors n'oubliez pas le Tag


réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
SpaceFrog est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/10/2011, 14h54   #9
Membre habitué
 
Homme Mathias Philippe
Développeur Web
Inscription : septembre 2011
Messages : 75
Détails du profil
Informations personnelles :
Nom : Homme Mathias Philippe
Localisation : Philippines

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

Informations forums :
Inscription : septembre 2011
Messages : 75
Points : 121
Points : 121
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.
MrPringle est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 19h09.


 
 
 
 
Partenaires

Hébergement Web