Javascript 如何避免“;您确定要离开此页面吗?&x201D;何时提交更改?在IE中分页时单击gridview
我的网页包含带有许多输入字段的网格视图。我想在移动到下一个选项卡之前向用户发出警报。我的脚本在Mozilla Firefox和chrome中运行良好,但在IE中,网格视图分页单击也会出现警报。我不想在分页单击时显示。但在Mozilla和chrome中,这不会发生。如何避免这种情况 这是我的剧本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
<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);