JavaScript实现POP窗体的onclose功能
2006-04-19 11:46
417 查看
问题描述:
弹出窗体上有三个按键分别为保存,关闭和右上角IE自带的关闭按键。
点击保存按键,将窗体的内容在数据库中Update为保存的状态,关闭本窗体。
点击关闭按键,在数据库中删除窗体表示的记录,关闭本窗体。
点击IE自带的关闭按键,在数据库中删除窗体表示的记录,关闭本窗体。
前两个功能很好实现,我用的是分别提交到不同的Action,然后进行处理,根据处理的结果来确定是关闭本窗体还是提示错误信息。第三个功能不太好实现,因为那个关闭按键是IE自带的,对怎么捕捉这个事件我不太清楚。记得在用Delphi开发时,窗体有个onclose事件,可以在这个事件中添加功能。那么HTML是不是有类似的情况呢?
查了一下资料,发现了<body>标签里有两个事件,onunload和onbeforeunload。呵呵,方法有了。
解决思路:
设置全局变量,来确定是点击了哪个按钮,因为最后都要关闭窗体,所以编写一个函数,统一对窗体的关闭进行处理。该处理过程是首先首先根据全局变量判断点击了哪个按键,然后进行相应的处理。最后在body的onunload或者onbeforeunload中调用这个函数。
代码摘要:
//全局变量
var btn_flg = 0;
//点击关闭按键
function fun_close(){
btn_flg = 0;
window.close();
}
//点击保存按键
function fun_save_message(){
btn_flg = 1;
window.close();
}
//
function fun_on_unload(){
//点击×和关闭按键
if (btn_flg == 0){
document.frm.action='del_invite_receiver.php';
document.frm.submit();
window.opener.location.reload();
}
//点击保存按键
if (btn_flg == 1){
document.frm.action='save_invite_receiver.php';
document.frm.submit();
window.opener.location.reload();
}
}
最后在<body>标签中添加上边的函数:
<body onbeforeunload="fun_on_unload();">
弹出窗体上有三个按键分别为保存,关闭和右上角IE自带的关闭按键。
点击保存按键,将窗体的内容在数据库中Update为保存的状态,关闭本窗体。
点击关闭按键,在数据库中删除窗体表示的记录,关闭本窗体。
点击IE自带的关闭按键,在数据库中删除窗体表示的记录,关闭本窗体。
前两个功能很好实现,我用的是分别提交到不同的Action,然后进行处理,根据处理的结果来确定是关闭本窗体还是提示错误信息。第三个功能不太好实现,因为那个关闭按键是IE自带的,对怎么捕捉这个事件我不太清楚。记得在用Delphi开发时,窗体有个onclose事件,可以在这个事件中添加功能。那么HTML是不是有类似的情况呢?
查了一下资料,发现了<body>标签里有两个事件,onunload和onbeforeunload。呵呵,方法有了。
解决思路:
设置全局变量,来确定是点击了哪个按钮,因为最后都要关闭窗体,所以编写一个函数,统一对窗体的关闭进行处理。该处理过程是首先首先根据全局变量判断点击了哪个按键,然后进行相应的处理。最后在body的onunload或者onbeforeunload中调用这个函数。
代码摘要:
//全局变量
var btn_flg = 0;
//点击关闭按键
function fun_close(){
btn_flg = 0;
window.close();
}
//点击保存按键
function fun_save_message(){
btn_flg = 1;
window.close();
}
//
function fun_on_unload(){
//点击×和关闭按键
if (btn_flg == 0){
document.frm.action='del_invite_receiver.php';
document.frm.submit();
window.opener.location.reload();
}
//点击保存按键
if (btn_flg == 1){
document.frm.action='save_invite_receiver.php';
document.frm.submit();
window.opener.location.reload();
}
}
最后在<body>标签中添加上边的函数:
<body onbeforeunload="fun_on_unload();">
相关文章推荐
- JavaScript 用fetch 实现异步下载文件功能
- javascript模拟实现类似c#下的hashtable的简单功能
- 原生javascript实现Tab选项卡切换功能
- 用 Javascript 实现如下语法的功能:var a = add(2)(3)(4); //9
- JavaScript使用cookie实现记住账号密码功能
- 【JAVASCRIPT】JS实现淘宝,百度评分功能
- [JavaScript]实现“查看选中部分的源代码”功能
- JavaScript实现功能全集
- 【JAVASCRIPT】jquery实现图片放大功能
- javascript实现剪切板功能
- 实现JavaScript中eval()函数的功能
- javascript实现网站加入收藏功能
- JavaScript中使用webuploader实现上传视频功能(demo)
- C# 鼠标穿透窗体功能的实现方法
- 基于JavaScript实现简单的音频播放功能
- javascript实现页面中回到顶部功能
- Javascript中暂停功能的实现
- 采用JavaScript+XML实现具有树形菜单功能的论坛侧边导航栏
- JavaScript实现全选功能
- JavaScript实现自动生成网页元素功能(按钮、文本等)