web-dev-qa-db-fra.com

javascript / jquery: réponse à un utilisateur qui clique sur "ok" dans une boîte de dialogue d'alerte

mon code:

alert('Some message');

Question 1:

Comment exécuter le code qui vient après alert() lorsque l'utilisateur a fini d'interagir avec la boîte d'alerte?

Question 2:

Comment détecter si l'utilisateur a appuyé sur OK ou Cancel sur la boîte d'alerte?

23
shealtiel

Question 1:

La méthode alert bloque l'exécution jusqu'à ce que l'utilisateur la ferme:

alert('Some message');
alert('doing something else after the first alert is closed by the user');

Question 2:

utilisez la fonction confirm :

if (confirm('Some message')) {
    alert('Thanks for confirming');
} else {
    alert('Why did you press cancel? You should have confirmed');
}
44
Darin Dimitrov

Le code après l'appel alert() ne sera pas exécuté tant que l'utilisateur n'aura pas cliqué sur ok pour l'alerte, il suffit donc de mettre le code dont vous avez besoin après l'appel alert().

Si vous voulez une boîte de dialogue flottante plus agréable que le popup par défaut javascript confirm(), voir jQuery UI: fenêtre flottante

14
Nick Shaw
var r = confirm("Press a button!");
if (r == true) {
    alert("You pressed OK!");
}
else {
    alert("You pressed Cancel!");
}

http://jsfiddle.net/rlemon/epJGG/

7
rlemon