• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 327
  • Last Modified:

OnBeforeUnload .....

I have an asp.net web page...and it has following script on the HTML <script> block
  var needToConfirm = <%= jsNeedToConfirm.ToString().ToLower() %>;
  window.onbeforeunload = confirmExit;
  function confirmExit()
        if (needToConfirm )
            return "Test";
and in the code behind(im using C#) on the page_load event the variable
bool jsNeedToConfirm = true;
everything looks good till now....BUT...i have an asp.net button and in the click event of that button im setting jsNeedToConfirm = false;....now the problem im facing is that when im clicking the Save button....even before the click event is called the alert window is being popped up...and then its going to Click event of the button and setting the jsNeedToConfirm = false......can any one tell me what can be the problem or anyother suggestions.....
Prompt help on this wud be much appreciated...
1 Solution
Without doing any testing it would seem that the code you wrote is working correctly (not necessarily how you want it to), let me explain.

When you click your form button it does a PostBack which means the page unloads and then reloads with the new data so the alert is appearing because JS is detecting the unload when you click your form button.

In your page load try setting this

btnName.Attributes.Add("onclick","needToConfirm=false;return true;");
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Free Tool: Path Explorer

An intuitive utility to help find the CSS path to UI elements on a webpage. These paths are used frequently in a variety of front-end development and QA automation tasks.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now