JS实现 页面提交防刷新等待提示
来源:互联网 发布:c语言中-76绝对值 编辑:程序博客网 时间:2024/05/17 04:25
系统使用中,常常会遇到网速过慢这样那么的情况,如果你的提交没有做验证或者特殊处理很容易造成重复提交,产生冗余数据或者系统出错。我的解决方法是,页面表单提交时,如果有等待时间,那么页面上会弹出一个提示框告诉用户系统数据正在提交,请耐心等待,同时屏蔽页面,然用户不能继续操作,从而有效方式用户重复提交。
下面就写出这个JS文件:
//关闭等待窗口
function
closediv() {
//Close Div
document.body.removeChild(document.getElementById(
"bgDiv"
));
document.getElementById(
"msgDiv"
).removeChild(document.getElementById(
"msgTitle"
));
document.body.removeChild(document.getElementById(
"msgDiv"
));
}
//显示等待窗口
function
showdiv(str) {
var
msgw, msgh, bordercolor;
msgw = 400;
//提示窗口的宽度
msgh = 100;
//提示窗口的高度
bordercolor =
"#336699"
;
//提示窗口的边框颜色
titlecolor =
"#99CCFF"
;
//提示窗口的标题颜色
var
sWidth, sHeight;
sWidth = window.screen.availWidth;
sHeight = window.screen.availHeight;
var
bgObj = document.createElement(
"div"
);
bgObj.setAttribute(
'id'
,
'bgDiv'
);
bgObj.style.position =
"absolute"
;
bgObj.style.top =
"0"
;
bgObj.style.background =
"#777"
;
bgObj.style.filter =
"progid:DXImageTransform.Microsoft.Alpha(style=3,opacity=25,finishOpacity=75"
;
bgObj.style.opacity =
"0.6"
;
bgObj.style.left =
"0"
;
bgObj.style.width = sWidth +
"px"
;
bgObj.style.height = sHeight +
"px"
;
document.body.appendChild(bgObj);
var
msgObj = document.createElement(
"div"
)
msgObj.setAttribute(
"id"
,
"msgDiv"
);
msgObj.setAttribute(
"align"
,
"center"
);
msgObj.style.position =
"absolute"
;
msgObj.style.background =
"white"
;
msgObj.style.font =
"12px/1.6em Verdana, Geneva, Arial, Helvetica, sans-serif"
;
msgObj.style.border =
"1px solid "
+ bordercolor;
msgObj.style.width = msgw +
"px"
;
msgObj.style.height = msgh +
"px"
;
msgObj.style.top = (document.documentElement.scrollTop + (sHeight - msgh) / 2) +
"px"
;
msgObj.style.left = (sWidth - msgw) / 2 +
"px"
;
var
title = document.createElement(
"h4"
);
title.setAttribute(
"id"
,
"msgTitle"
);
title.setAttribute(
"align"
,
"right"
);
title.style.margin =
"0"
;
title.style.padding =
"3px"
;
title.style.background = bordercolor;
title.style.filter =
"progid:DXImageTransform.Microsoft.Alpha(startX=20, startY=20, finishX=100, finishY=100,style=1,opacity=75,finishOpacity=100);"
;
title.style.opacity =
"0.75"
;
title.style.border =
"1px solid "
+ bordercolor;
title.style.height =
"18px"
;
title.style.font =
"12px Verdana, Geneva, Arial, Helvetica, sans-serif"
;
title.style.color =
"white"
;
//title.style.cursor = "pointer";
//title.innerHTML = "关闭";
//title.onclick = closediv;
document.body.appendChild(msgObj);
document.getElementById(
"msgDiv"
).appendChild(title);
var
txt = document.createElement(
"p"
);
txt.style.margin =
"1em 0"
txt.setAttribute(
"id"
,
"msgTxt"
);
txt.innerHTML = str;
document.getElementById(
"msgDiv"
).appendChild(txt);
}
//屏蔽F5
document.onkeydown = mykeydown;
function
mykeydown() {
if
(event.keyCode == 116)
//屏蔽F5刷新键
{
window.event.keyCode = 0;
return
false
;
}
}
使用页面直接调用这个js文件,然后在按钮的onclick事件中填写:
<INPUT onclick="showdiv('表达数据提交中<br/>请稍候........ <br/> );" type="button" value="提交数据">
- JS实现 页面提交防刷新等待提示
- JS实现 页面提交防刷新等待提示
- JS实现 页面提交防刷新等待提示
- JS实现 页面提交防刷新等待提示 .
- 防页面刷新提交
- js倒计时,防页面刷新
- jsp页面防刷新,提交数据重复
- asp.net页面防刷新重复提交
- struts2防页面刷新重复提交
- [工具类]JS实现的页面等待提示层
- 关于页面的防刷新重复提交、防后退解决办法
- js 实现页面等待效果
- js实现页面刷新
- JS实现页面刷新
- 防刷新重复提交
- Net 防刷新提交
- 防刷新重复提交
- js实现表单提交后不重新刷新当前页面,并停留在当前页面
- Android APK反编译详解(附图)
- hive的数据类型和数据模型
- 【Nginx】基本配置入门
- [ORACLE]UTL_SMTP发邮件
- ThinkPHP 中 模型 getField 方法使用
- JS实现 页面提交防刷新等待提示
- Windows Phone 8 , IOS, Android手势操作优先级对比
- C++复制构造函数和赋值符的区别
- 我有个梦想
- 网络安全热门资料 精品工具
- Java 深拷贝和浅拷贝
- RFC知识和RFC debug技巧。。
- Android的GridView控件(一)
- Java,Jsp点击事件后,出现等沙漏,处理等待状态时,有提示在动,适合任何事件使用