怎么在页面跳转的时候给以用户保存提示? 我的网站假如地址是:http://localhost:32640/Default.aspx 导航菜单分为:我的主页,我的好友,我的论坛,我的留言四块。我的任何一个菜单的时候IE地址栏永远是http://localhost:32640/Default.aspx。现在如果用户在我的好友页中做了修改,在没有保存更改的前提下就直接点击我的留言页去了。我要如何做到给用户已个保存提示。在他做跳转的时候~ 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 临时的保存用Cookie,永久保存的话,就要用到比如数据库记录等如果你可以用那个AJAX+JS来做到这一点。比如用户修改了好友列表,然后这个时候点击了留言页,这个时候用AJax把修改的数据保存回去,然后给出提示,再跳转。 我覍得,用焦点来处理。当文本框失去焦点时,就激发JS事件发出提问。确定就返回ture。多简单。唯一的缺点就是:如果用户是点击保存,也会提问。把提问语句改得中肯一点,应该可以吧 网页不是有一个onbeforeunload事件吗?<script language="javascript" type="text/javascript"><!--var pb_strConfirmCloseMessage;var pb_blnCloseWindow = false;pb_strConfirmCloseMessage ="您真的要离开本页吗?";function ConfirmClose() {window.event.returnValue = pb_strConfirmCloseMessage;pb_blnCloseWindow = true;}function ShowConfirmClose(blnValue) {if(blnValue) {document.body.onbeforeunload = ConfirmClose;} else {document.body.onbeforeunload = null;}}//--></script> 框架页不是有多个窗口组成的吗?怎么用不了?在你编辑内容的窗口里使用 onbeforeunload没有别的方法 http://localhost:32640/Default.aspx 导航菜单分为:我的主页,我的好友,我的论坛,我的留言四块。我点任何一个菜单的时候IE地址栏永远是http://localhost:32640/Default.aspx onbeforeunload 确实用不了~~ 其实这个问题也是一直困扰了我很久的,经一翻寻找,我才有所了解,也许不太对,但一定对你有启发这个肯定在在客户端验证的。我知道www.51.com这个博客的跳转方式就是楼主想要做的。我试了一下,就是当你点击他的某些菜单项时,它才会弹出“您确实要离开该页面吗,离开前请先保存你的内容。”,这个时候它是在客户验证的,并没有回传到服务器,但有的菜单项它就不弹出。而且当我不修改"个人日记"这个页面再点击“个人日记”这个菜单项,它还是会弹出这个警告框,这说明什么呢,这说明<a href="个人日记.aspx" targer="right" onclick="return confirm("您确定要离开该页面吗,离开前请先保存你的内容...");"> ,可是当你第一点这个“个人日记”这个菜单项时,它并没有confirm()。这样,我们就可以推出,它是怎么一回事了,就是当你点“个人日记”这个菜单项到达“个人日记”.aspx时,这个“个人日记”.aspx.cs里面就对这个网页的左框架菜单里的某些菜单注入了 onclick="return confirm("您确定要离开该页面吗,离开前请先保存你的内容..."); 还有就是当你保存了这个页面,还要把这个注入了 onclick="return confirm("您确定要离开该页面吗,离开前请先保存你的内容...");东西去掉。 VS08运行页面问题 跨页面传值传咯要丢失 这段段生成验证码图片的代码,想请教几个问题 想在点击FCKEditor的【保存】按钮时执行保存到数据库动作,怎么办? 求一个判断这样重复的正则表达式 <求助>如何实现数据库中两个表的联动 读取前一个页面的form信息 一个HttpWebRequest问题(远程服务器返回错误: (400) 错误的请求。)。 这个出错提示怎样实现呢? 读取不存在的cookie是不是会出错? mvc 中html.ListBox()控制只能单选怎么实现? ADO.NET批量插入數據的效率問題!
如果你可以用那个AJAX+JS来做到这一点。
比如用户修改了好友列表,然后这个时候点击了留言页,这个时候用AJax把修改的数据保存回去,然后给出提示,再跳转。
当文本框失去焦点时,就激发JS事件发出提问。
确定就返回ture。多简单。
唯一的缺点就是:如果用户是点击保存,也会提问。把提问语句改得中肯一点,应该可以吧
var pb_strConfirmCloseMessage;
var pb_blnCloseWindow = false;
pb_strConfirmCloseMessage ="您真的要离开本页吗?";
function ConfirmClose() {
window.event.returnValue = pb_strConfirmCloseMessage;
pb_blnCloseWindow = true;
}
function ShowConfirmClose(blnValue) {
if(blnValue) {
document.body.onbeforeunload = ConfirmClose;
} else {
document.body.onbeforeunload = null;
}
}
//--></script>
框架页不是有多个窗口组成的吗?怎么用不了?
在你编辑内容的窗口里使用 onbeforeunload没有别的方法
onbeforeunload 确实用不了~~
这个肯定在在客户端验证的。我知道www.51.com这个博客的跳转方式就是楼主想要做的。我试了一下,就是当你点击他的某些菜单项时,它才会弹出“您确实要离开该页面吗,离开前请先保存你的内容。”,这个时候它是在客户验证的,并没有回传到服务器,但有的菜单项它就不弹出。而且当我不修改"个人日记"这个页面再点击“个人日记”这个菜单项,它还是会弹出这个警告框,这说明什么呢,这说明<a href="个人日记.aspx" targer="right" onclick="return confirm("您确定要离开该页面吗,离开前请先保存你的内容...");"> ,可是当你第一点这个“个人日记”这个菜单项时,它并没有confirm()。
这样,我们就可以推出,它是怎么一回事了,就是当你点“个人日记”这个菜单项到达“个人日记”.aspx时,这个“个人日记”.aspx.cs里面就对这个网页的左框架菜单里的某些菜单注入了 onclick="return confirm("您确定要离开该页面吗,离开前请先保存你的内容...");