我有一个表单,它包含输入字段,gridview和buttons.I要警告用户在从Form导航时丢失数据。在Firefox(5)中,Chrome可以正常工作,但即它不。在这里我给我的剧本window.onbeforeunload不能在IE中工作
<script type="text/javascript">
function setConfirmUnload(on) {
window.onbeforeunload = (on) ? unloadMessage : null;
}
function unloadMessage() {
return 'You have entered new data on this page.' +
' If you navigate away from this page without' +
' first saving your data, the changes will be' +
' lost.';
}
$(document).ready(function() {
$(':input', document.aspnetForm).bind(
"change", function() {
setConfirmUnload(true);
}
); // Prevent accidental navigation away
});
</script>
在提交按钮,我宣布OnClientClick="setConfirmUnload(true);"
任何人都可以有任何想法,这个。请帮我
感谢
我剥出了jQuery'ready'功能,只是叫'setConfirmUnload(真)'内页和它的工作正常。我的猜测是a)你有一个在'IE'下触发的错误,而不是'Chrome'或者有'HTML'布局错误,这意味着你的'selector'不工作。把'console.log'放在ready语句中,并跟踪那里发生的事情。 –
Thinks很多..但我的页面包含很多gridviews添加按钮。如果我按照你的做法,在GridView的分页也显示警报框。如何停止这种警报在分页。和在GridView的下一页如果我正在做任何更改警报不会来。是否有任何解决方案? – Madhu
您尚未提供足够的信息。我/我们不知道你的HTML是什么样的。我唯一能做的就是我所做的 - 指出问题的最可能来源,以帮助您缩小范围。 –