Javascript 如何避免“;您确定要离开此页面吗?&x201D;何时提交更改?在IE中分页时单击gridview

Javascript 如何避免“;您确定要离开此页面吗?&x201D;何时提交更改?在IE中分页时单击gridview,javascript,jquery,asp.net,gridview,pagination,Javascript,Jquery,Asp.net,Gridview,Pagination,我的网页包含带有许多输入字段的网格视图。我想在移动到下一个选项卡之前向用户发出警报。我的脚本在Mozilla Firefox和chrome中运行良好,但在IE中,网格视图分页单击也会出现警报。我不想在分页单击时显示。但在Mozilla和chrome中,这不会发生。如何避免这种情况 这是我的剧本 <script> var warnMessage = "You have unsaved changes on this page!"; $(document).read

我的网页包含带有许多输入字段的网格视图。我想在移动到下一个选项卡之前向用户发出警报。我的脚本在Mozilla Firefox和chrome中运行良好,但在IE中,网格视图分页单击也会出现警报。我不想在分页单击时显示。但在Mozilla和chrome中,这不会发生。如何避免这种情况

这是我的剧本

 <script>

    var warnMessage = "You have unsaved changes on this page!";

    $(document).ready(function () {
        $('input:not(:button,:submit),textarea,select').change(function () {
            window.onbeforeunload = function () {
                if (warnMessage != null) return warnMessage;
            }
        });
        $('input:submit').click(function (e) {
            warnMessage = null;
        });
    });



</script>

var warnMessage=“此页面上有未保存的更改!”;
$(文档).ready(函数(){
$('input:not(:button,:submit),textarea,select')。更改(函数(){
window.onbeforeunload=函数(){
如果(warnMessage!=null)返回warnMessage;
}
});
$('input:submit')。单击(函数(e){
warnMessage=null;
});
});
如何避免在gridview分页中仅在IE中单击此消息? 有人能帮我吗


谢谢

只需在分页时单击将值设置为null

更新1

请尝试此选项而不是您的代码:

更新2

使用window.onbeforeunload=null之后;在分页控件中,要在更新面板中重新绑定警报,请尝试此解决方案,它可能会帮助您解决此问题:


当我设置“window.onbeforeunload=null;”分页后单击,如果我在文本框中进行任何更改,并且没有保存它,则导航到其他选项卡时,它不会显示任何消息。只要确保分页后单击事件,再次调用javascript以将脚本重新绑定到页面。是的,我希望这样做。但是如何做到这一点,请告诉我您需要提供分页控制以及请$('.paginationstyle a')。单击(函数(e){window.onbeforeunload=null;});如果我在分页中执行此操作,请单击它不显示任何消息。但是如何重新绑定它?
   window.onbeforeunload = null;
  var myEvent = window.attachEvent || window.addEventListener;
    var chkevent = window.attachEvent ? 'onbeforeunload' : 'beforeunload'; /// make IE7, IE8 compitable
    myEvent(chkevent, function (e) { // For >=IE7, Chrome, Firefox
        var confirmationMessage = 'Are you sure to leave the page?';  // a space
        (e || window.event).returnValue = confirmationMessage;
        return confirmationMessage;
    });
   $(document).ready(function () {
     bindPageAlert();
   });

    function bindPageAlert()
    {
        var myEvent = window.attachEvent || window.addEventListener;
        var chkevent = window.attachEvent ? 'onbeforeunload' : 'beforeunload';
        myEvent(chkevent, function (e) { // For >=IE7, Chrome, Firefox
            var confirmationMessage = 'Are you sure to leave the page?';  // a space
            (e || window.event).returnValue = confirmationMessage;
            return confirmationMessage;
        });
    }

    Sys.WebForms.PageRequestManager.getInstance().add_endRequest(bindPageAlert);