Can I prevent [removed] from being called when doing an AJAX call

后端 未结 9 1627
北恋
北恋 2020-12-24 03:22

I have an AJAX-based grid control.

We hook into the window.onbeforeunload event to check if they have unsaved data and if so present them with a message \"Are you s

相关标签:
9条回答
  • 2020-12-24 04:24

    If you want to trigger your postback by a hyperlink, there is a simple workaround: Instead of

    <a href="javascript:submitFunction();">Submit</a>

    or

    <a href="javascript:;" onclick="submitFunction();">Submit</a>

    just use this code:

    <a href="#" onclick="submitFunction();">Submit</a>

    It seems that IE fires the onbeforeunload event if the content of the href-attribute of a hyperlink is not the current page (which the sharp character indicates).

    0 讨论(0)
  • 2020-12-24 04:25

    This is really weird, are you sure your Ajax call isn't loading a new link?

    Be sure you read this relevant specification: onbeforeunload spec

    See if the Ajax call maybe triggers any of the actions listed in the To invoke table.

    0 讨论(0)
  • 2020-12-24 04:28

    I did something like this:

    inside body tag:

      var allowConfirm = true;
    
      window.onbeforeunload = confirmExit;
      function confirmExit()
      {
        if(allowConfirm)
            return "Are you sure you want to navigate away from this page?";
        else
            allowConfirm = true;
      }
    

    When I Logout, I call this script:

    allowConfirm = false; return window.location.href;

    0 讨论(0)
提交回复
热议问题