Suraj Air
Suraj Air

Reputation: 2113

Event calling before page unload

I want to pop up a dialog before an html page is unloaded asking to unload page or not. If yes is selected then the unload continues, and if no is selected then the unload event is canceled.

Upvotes: 15

Views: 27744

Answers (1)

Nick Craver
Nick Craver

Reputation: 630637

You can't set the text to "yes"/"no" (it'll be "Ok"/"Cancel" in most browsers), but you can prompt (be careful when using this) when leaving the page in any manner using window.onbeforeunload, like this:

window.onbeforeunload = function() {
  return "Are you sure you wish to leave the page?";
}

Only use this if you have a good reason, don't annoy your users. That being said, this will prompt when leaving the page, that includes history back, forward, refresh, closing the window/tab, clicking a link to navigate away or submitting a form, etc. So you'll probably want to call this when going somewhere that shouldn't prompt:

window.onbeforeunload = null;

For example, submitting a form of information, you'd want to prompt when leaving/losing the data, but not when actually submitting it.

Upvotes: 27

Related Questions