我有一个包含文本框和提交按钮的网页。当用户编辑文本框中的文本并点击其他链接(而不是提交按钮)时,我该如何显示“您确定要离开此页面吗”的弹出消息?
我在网络上进行了研究,并找到了一些JavaScript示例。这是唯一的方法吗?如果不是,那么最好的方法是什么?
我有一个包含文本框和提交按钮的网页。当用户编辑文本框中的文本并点击其他链接(而不是提交按钮)时,我该如何显示“您确定要离开此页面吗”的弹出消息?
我在网络上进行了研究,并找到了一些JavaScript示例。这是唯一的方法吗?如果不是,那么最好的方法是什么?
这是实现同一事物的多种方式之一。
function goodbye(e) {
if(!e) e = window.event;
//e.cancelBubble is supported by IE - this will kill the bubbling process.
e.cancelBubble = true;
e.returnValue = 'You sure you want to leave?'; //This is displayed on the dialog
//e.stopPropagation works in Firefox.
if (e.stopPropagation) {
e.stopPropagation();
e.preventDefault();
}
}
window.onbeforeunload=goodbye;
我从这里得到了它 open js
。简单的解决方案
window.onbeforeunload = confirmExit;
function confirmExit() {
return "Are you sure you want to leave this page?";
}
您不能使用onbeforeunload窗口方法,因为它会被多种方式触发,例如前进和后退浏览器导航链接、刷新页面、关闭页面、单击链接。
我认为您需要绑定要显示导航离开消息的链接标签,然后使用函数来显示状态消息。
window.addEvent('domready',function(){
$$('a').addEvent('click', function(e) {
//leaving(); function u wrote for displaying message
});
});
function leaving(e) {
if(!e)
e = window.event;
// return code for the displaying message
}
只有unload()事件可以在JS上工作。你无法在服务器上管理它。
http://www.w3schools.com/jquery/event_unload.asp
正是为了像您这样的目的而设计的。
稍微解释一下,您需要下载jquery js库并在项目/页面中引用它,但您最终可能会想要这样做。
如果您想从服务器端控制此操作,可以在OnPreRender中动态发出jquery调用。
查看Jquery的.beforeunload属性。这是一个例子:
$(window).bind('beforeunload', function(){ return 'Click OK to exit'; });
$(window).unload(function(){ alert('Bye.'); });
最后,别忘了在头部标签中使用以下代码引用jQuery:
<script src="http://code.jquery.com/jquery-latest.min.js" type="text/javascript"></script>