Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1243 connectés 

  FORUM HardWare.fr
  Programmation
  HTML/CSS

  comment faire un confirm() sur un lien href ?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

comment faire un confirm() sur un lien href ?

n°194221
cybercouf
Posté le 12-08-2002 à 17:57:13  profilanswer
 

je voudrais pouvoir faire une confirmation apres la click du lien:
<A href="proddel.php" onClick="confirm(' Are you sure to delete the product ? ';)">Delete</A>
 
selement tel quel, meme si on click sur anuller il charges tout dememe la page  :(  
 
je suis obligé de passer par une fonction que je définit au préalable dans un script ou il y a un moyen plus simple?

mood
Publicité
Posté le 12-08-2002 à 17:57:13  profilanswer
 

n°194232
_Mac_
Posté le 12-08-2002 à 18:27:49  profilanswer
 

L'astuce consiste à ne rien mettre dans le href et faire un window.location.href = "proddel.php" dans une fonction JavaScript.
 
Modulo le debug, ca donne qqch comme ca :
 
function confirmation() {
 if (confirm("etes-vous sur ?" )) {
  window.location.href = "proddel.php"
 }
}
 
...
 
<A href="#" onclick="confirmation();">Delete</A>

n°194243
cybercouf
Posté le 12-08-2002 à 18:48:38  profilanswer
 

hum ok,
sinon si je veux passer une variable dans l`autre page:
 
function confirmation(id) {  
if (confirm("etes-vous sur ?" )) {  
 window.location.href = "proddel.php?code=id"  
}  
}  
...  
<A href="#" onclick="confirmation(7);">Delete</A>
 
la page seras bien proddel.php?code=7 ?
 
 
 
 
<A href="javascript:confirmation()">Delete</A> ca marche?  :hello:

n°194249
_Mac_
Posté le 12-08-2002 à 18:54:47  profilanswer
 

Affirmartif pour les 2 : le passage d'argument, c'est tout a fait ca, et le javascript:... doit marcher aussi, mais c'est peut-etre moins sur avec les "vieux" navigateurs (je ne pense pas que I.E. 4 aime).

n°194261
cybercouf
Posté le 12-08-2002 à 19:15:11  profilanswer
 

bon je viens de tester, alors:
avec href="#" il ne fait rien que l`on click sur ok ou annuler
 
avec href="javascript:confirmation(7)">
 
par contre la page finale est proddel.php?code=id et non proddel.php?code=7,
doit y avoir un pb la:
window.location.href = "proddel.php?code=id"
car comme id est une variable, il doit certainement pas falloir la marquer comme juste du text, en php j`aurais mis $id mais en JS je connais pas grand chose  :(  

n°194269
ratibus
Posté le 12-08-2002 à 19:43:50  profilanswer
 

cybercouf a écrit a écrit :

bon je viens de tester, alors:
avec href="#" il ne fait rien que l`on click sur ok ou annuler
 
avec href="javascript:confirmation(7)">
 
par contre la page finale est proddel.php?code=id et non proddel.php?code=7,
doit y avoir un pb la:
window.location.href = "proddel.php?code=id"
car comme id est une variable, il doit certainement pas falloir la marquer comme juste du text, en php j`aurais mis $id mais en JS je connais pas grand chose  :(  




 
 

Code :
  1. function confirmation(id)
  2. if (confirm("etes-vous sur ?" )) window.location.href = "proddel.php?code="+id;
  3. }


 
il faut faire une concaténation sinon il ne sais pas que id est une variable

n°194294
youdontcar​e
Posté le 12-08-2002 à 21:04:17  profilanswer
 

plus simple : si tu retournes false dans un événement de balise, l'événement ne sera pas passé au navigateur.  
 
donc :
 
<A href="proddel.php" onClick="return confirm(' Are you sure to delete the product ? ';)">Delete</A>
 
si la confirmation est ok, -> envoyer l'événement au navigateur, qui va voir qu'on a cliqué sur un lien, et va ouvrir le lien.
si la confirmation n'est pas ok -> rien ne se passe.

n°194349
cybercouf
Posté le 12-08-2002 à 22:45:24  profilanswer
 

merci ratibus, c'est donc + q'il faut utiliser en JS :jap:
 
merci youdontcare, c'est exactement ce que je voulais faire ! c.a.d sans apel a une fct, car ce lien peut se reperter plus d 100 fois sur la page (il est pour chaque item d'une liste générée en php) :jap:

n°194360
ratibus
Posté le 12-08-2002 à 23:12:46  profilanswer
 

cybercouf a écrit a écrit :

merci ratibus, c'est donc + q'il faut utiliser en JS :jap:
 
merci youdontcare, c'est exactement ce que je voulais faire ! c.a.d sans apel a une fct, car ce lien peut se reperter plus d 100 fois sur la page (il est pour chaque item d'une liste générée en php) :jap:




 
justement qi l'utilistaion se répète il vaut mieux utiliser une fonction générique non ?  :??:

n°194422
cybercouf
Posté le 13-08-2002 à 08:36:54  profilanswer
 

mouais .. :heink:  
en théorie je dirais oui, mais en pratique je trouve que c`est plus joli comme ca  :D , en fait c`est de la pure fénéantise, car tel quel je n`ai besoin de tapper que le lien, apre c php qui le repeteras, et donc g pas besoin de tapper en plus la fonctinon  :D (je sais c con mais bon maintenant je sais que je peux le faire sans defirnir de fonction ;) )

mood
Publicité
Posté le 13-08-2002 à 08:36:54  profilanswer
 

n°194435
ratibus
Posté le 13-08-2002 à 08:55:52  profilanswer
 

ok  :)


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  HTML/CSS

  comment faire un confirm() sur un lien href ?

 

Sujets relatifs
Imprimer une page à l'aide d'un lien (mais pas la page courante!)Executer un script en cliquant sur un lien html existant.
mettre un lien en phpquestion de ewbie sur l'ouverture d'un lien
changer la valeur d'un hrefbulle avec un commentaire quand on est sur un lien...
Lien dans iframe[NS] Pb de lien sur NS
[HTML, JS] Comment récupérer le statut d'un lien ?balie href defini avec le DOM
Plus de sujets relatifs à : comment faire un confirm() sur un lien href ?


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR