如何实现在网页关闭前执行一段与服务器交互的代码?

lfgoal 2002-11-15 05:15:40
比如,网页上文本或其他的内容改变了,在关闭网页时,提示用户『信息已更改,是否保存更改信息』。我在onbeforeunload事件中可以做到提示用户的,但是可能是由于马上响应关闭网页事件的原因,页面上的值好多都取不到了,也就无法传到后台操作数据库等工作,更不能等待后台返回操作结果了,怎样能保证在关闭网页之前一定能够做我指定的工作呢?
最好能像word那样,没有保存就退出的话,会提示三个选项,是否保存?【是】【否】【取消】,点击取消网页就不关闭,点击是保存后再关闭,点击否不保存就关闭?
非常感谢!!!
...全文
88 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
friendkey 2002-11-22
  • 打赏
  • 举报
回复
up
tjgok 2002-11-22
  • 打赏
  • 举报
回复
最好是建一个临时表处理,用户未处理的结果信息都在临时表中,可以在适当的时候对这些信息做处理。
jery_lee 2002-11-18
  • 打赏
  • 举报
回复
可以试一试<body onunload="">
lfgoal 2002-11-18
  • 打赏
  • 举报
回复
onbeforeunload()事件中执行完这段代码后网页马上就会关闭,这时再取网页上的对象肯定为空,即使你赋值也没有用,因为服务段程序getParameter("SVRNAME")这个对象已经不存在了;
另外, fanhigh(虫子) :你说梅花雨的方案可行,哪一种可行?第一种跟我现在用的没什么区别,第二种怎么用,我好像用不了。后台程序肯定没有问题!!!还有,我不想用任何IE自己弹出来的提示框,有没有什么解决方案啊?求救求救!!
fanhigh 2002-11-18
  • 打赏
  • 举报
回复
你的
“但是有时传到后台SVRNAME值为null,所以处理不成功,”
不太可能,检查后台的处理程序

“另外这样也得不到返回值”
meimeizz(梅花雨) 的方案比较可行,在你提交之前,先作一次提交,取返回值。

lfgoal 2002-11-15
  • 打赏
  • 举报
回复
meizz(梅花雨) ,谢谢你又来帮我解决问题,你给的这段代码我怎么用不了?它实现什么功能呢?
我是这样写关闭代码的:
<script language="javascript">
function beforeUnload() {
if (confirm("您的资料已经修改,是否保存?")) {
saveDate();
}
}
function saveDate() {
form1.SVRNAME.value = "12345";
form1.action = ....;
form1.submit();
}

</script>
<body onbeforeunload="beforeUnload()">
<form name="form1" method="post">
<input type="hidden" name="SVRNAME">
</form>
</body>
但是有时传到后台SVRNAME值为null,所以处理不成功,另外这样也得不到返回值。我想知道怎样达到我问题中提出的那样的效果。谢谢高手们!!!
meizz 2002-11-15
  • 打赏
  • 举报
回复
这是一段思归的代码:
<script language="javascript">
function window.onunload()
{
if (IsClosingWindowInsteadOfReloadingOrGoingToALinkOrOpeningAURLInPlace)
{
var xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
xmlhttp.open("GET","DeleteDatainDatabase.asp",false);
xmlhttp.send();
}
}
</script>
wpmsoft 2002-11-15
  • 打赏
  • 举报
回复
in onunload event, you can submit your form to another asp page, in this page, do anything...., then close page.
meizz 2002-11-15
  • 打赏
  • 举报
回复
<BODY onbeforeunload="event.returnValue='确定退出吗?';">关闭网页会有提示

87,954

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧