Consider the following HTML snippet containing some javascript utilizing prompt
and unload
. The prompt()
method works fine but I want alerting something like Goodbye, user when reloading or leaving the page. Any help is greatly appreciated.
<body onload="promptName()" >
<script type="text/javascript">
function promptName()
{
var userName = prompt("What's your name ?", "")
return userName;
}
function goodBye()
{
alert("Goodbye, " + promptName() + "!");
}
window.onunload = goodBye();
</script>
</body>
You should write it like this:
window.onunload = goodBye;
Also, you might consider using the onbeforeunload event in some browsers:
window.onbeforeunload = goodBye;
When you write window.onunload = goodBye();
you assign whatever handler that is returned from goodBye
to the unload
event. Since nothing is returned, there will be no event handler. You need to reference the function instead: window.onunload = goodBye;