Comment mettre une popup de confirmation en 3 secondes !

tomati94

Nouveau membre
Parce que j'aurais tant voulu trouver ceci rapidement !


rajouter ceci a votre lien :
[cpp]onclick="return confirm('Etes vous sûre de vouloir supprimer cette valeur ?');"[/cpp]
exemple

[cpp]<a href="mapage.html" onclick="return confirm('Etes vous sûre de vouloir supprimer cette valeur ?');">mapage</a>[/cpp]

ou dans tout autres type de variable qui accepte le champ onclick !

--------------------------------------------

ou pour les perfectionnistes qui n'aime pas le JS intrusif:

On pourrait... considérer que certains liens sont dangereux
[cpp]<a href="?mode=delete&amp;id_message=1" class="dangerous">Supprimer</a>[/cpp]


Et dans un fichier javascript séparé on en fait la gestion
[cpp]function checkLinks() {
if(!document.getElementsByTagName)
return;
var links = document.getElementsByTagName('A');
for(var i=links.length-1; i>=0; --i)
if(links.className.indexOf('dangerous') != -1)
links.onclick = function (e) {
return confirm("Voulez vous réellement effectuer cette action?");
}
}

window.onload = checkLinks;
[/cpp]

De cette manière on a autant de liens "à confirmer" qu'on veut, et pour mettre en place la confirmation d'un lien il suffit d'ajouter une classe.

On pourrait même récupérer le contenu (l'intitulé) du lien pour l'afficher dans le confirm.

Merci encore à Masklinn et gatsusat !


voila ++ à tous

tomati
 

streetpc

Expert
pour les paranoiaques (puisque tu les cites :D), il ne faut pas utiliser cette méthode. en effet, le "return confirm" fait une annulation du click si l'utilisteur clique sur le lien ET que le JS est actif. OR, si le JS n'EST PAS actif, le onclick n'est pas pris en compte, donc le lien de suppression est directement exécté sans confirmation. En gros tu supprime SAUF si l'utilisateur annule, alors qu'une méthode vraiment clean serait de ne rien faire SAUF si l'utilisateur confirme.

Le bonne méthode est donc de faire l'inverse de ce que tu as mis

méthode 1: [cpp]<script language="JavaScript" type="text/javascript">
function goto_confirm(url)
{
if(confirm("Etes-vous sur de vouloir supprimer ce message ?")) document.location.href = url;
return false; //pour ne pas revenir au début de la page
}
</script>
<a href="#" onclick="return goto_confirm('adresse/quelconque');">supprimer</a>[/cpp]

méthode 2: reprendre la fonction de parsing, mais en appliquant le même à priori, c'est à dire qu'on ne fait rien sauf si l'utilisateur confirme.

de toute façon, la meilleure méthode reste une confirmation type php (avec une variable &confirm=1 dans l'url, soit ajoutée par du JS, soit demandée par une page PHP au cas où l'utilisateur a désactivé le JS...

Voilà, c'était ma minute pointilleuse du jour (ou plutot de la nuit, puisque je suis dans le chipotage...)
 

Johan_et_Pirlouit

Grand Maître

+1.. D'ailleurs, pour tout ce que je fais en prog Web (XHTML/CSS + PHP), depuis peu je considère que le poste client a le JavaScript désactivé pour des raisons de sécurité et je cherche à me débrouiller par le PHP (pour les fonctions) ou les CSS (pour la déco).. Et s'il m'arrive de faire quelques petits inserts en JavaScript, aucune fonction principale du site n'en dépend, je garde éventuellement JS pour des quelques inserts de déco (par exemple) non vitaux..

:merci:
 
Vous devez vous inscrire ou vous connecter pour répondre ici.
Derniers messages publiés
Statistiques globales
Discussions
730 152
Messages
6 718 432
Membres
1 586 425
Dernier membre
momo1612
Partager cette page
Haut