我现在用一个页上用js设定了一个10分钟的倒计时器,页面上没有提交按钮,设定了倒计时为0的时候自动提交,但是现在经常出现两种情况:
1、计时到0就卡住没反应,停在当前页,也不提交,用户还可以在文本框里面填数据,查过后台数据库却发现实际已经提交了。
2、计时还未到0时就会自动提交,据反应有2分的也有7分多的。
此页里另外还有一个禁回车提交的js,所有相关代码如下:
<%
response.setCharacterEncoding("gb2312");
//清除缓存,防止页面后退
response.setHeader("Pragma","no-cache");
response.setHeader("Cache-Control","no-store");
response.setDateHeader("Expires", 0); String user = "";
String mode = request.getParameter("mode");
if(session.getAttribute("euser") == null)
{
out.println("<script language = javascript>alert('请先登录系统!');window.location.href='enter.jsp';</script>");
}
else
{
user = (String)session.getAttribute("euser");
byte b[] = user.getBytes("ISO-8859-1");
user = new String(b);
}
%>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>考试页面</title>
<style type="text/css">
<!--
.STYLE1 { font-size: 36px;
font-family: "华文行楷", "隶书", "华文彩云", "黑体";
}
.STYLE3 {font-size: 12px}
.STYLE4 {font-family: "宋体"}
.STYLE5 {font-size: 12; }
.STYLE6 {
color: #666666;
font-weight: bold;
}
.STYLE8 {font-size: 12px; color: #0000FF; }
.STYLE9 {color: #000000}
-->
</style>
<!--倒计时器-->
<script language="javascript" type="text/javascript">
var h,m,s,hstr,mstr,sstr,timestr;
var etime = 10 * 60; //倒计时的总秒数为10分钟。
function timer()
{
//h = Math.floor(etime / 3600); //时
m = Math.floor(etime / 60) % 60; //分
s = Math.floor(etime % 60); //秒
//h < 0 ? h = 0 : h = h;
m < 0 ? m = 0 : m = m;
s < 0 ? s = 0 : s = s;
//h.toString().length < 2 ? hstr = "0" + h.toString() : hstr = h; //1显示01
m.toString().length < 2 ? mstr = "0" + m.toString() : mstr = m; //1显示01
s.toString().length < 2 ? sstr = "0" + s.toString() : sstr = s; //1显示01
//timestr = hstr + ":" + mstr + ":" + sstr;
timestr = mstr + ":" + sstr;
txt.value = timestr;
etime = etime - 1;
}
</script>
<style type="text/css">
.float
{
position: fixed;
right:220px;
top:30px;
width:50px;
height:20px;
background-color: Silver;
}
.long
{
height: 30px;
}
</style>
<script language="javascript">
//防止回车误提交
//document.getElementsByName("myForm").onsubmit = function(e){
function loadf(){
document.form1.onkeydown = function(e){
var evt = e || window.event;
var ecd = evt.which || evt.keyCode;
//return ecd == 13 ?false : true;
if(ecd == 13){
evt.keyCode = 0;
return false;}
}
}
</script>
</head><body onload="window.setInterval('timer()',1000);loadf();">
<div id="floatDiv" class="float">
<input type="button" id="txt" name="txt" value="" width="15" height="10" src="../img/bg_button.jpg"/>
</div>
<div class="long"></div>
<script type="text/javascript">
var userAgent = navigator.userAgent.toLowerCase();
var browser = {
msie: /msie/.test( userAgent ) && !/opera/.test( userAgent ),
version: (userAgent.match( /.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/ ) || [0,'0'])[1]
}; var div = document.getElementById('floatDiv');
if (browser.msie && browser.version < 8) {
div.style.position = 'absolute';
var offsetTop = document.getElementById('floatDiv').offsetTop;
window.onscroll = function() {
var top = document.documentElement.scrollTop + offsetTop;
document.getElementById('floatDiv').style.top = top;
};
}
</script><!--
<script language="javascript">
function checkSubmit()
{
if(confirm('确认要提交吗?'))
{
//document.form1.action = "dealTest.jsp";
form1.submit();
}
return false;
}
</script>
-->
<form id="form1" name="form1" method="post" action="dealTest.jsp">
<script language="javascript">
setTimeout("form1.submit();",600000);
</script>
这两种情况平均每10个人就出现1-3个,麻烦大家帮忙看下啊,很急的问题,多谢了啊!
1、计时到0就卡住没反应,停在当前页,也不提交,用户还可以在文本框里面填数据,查过后台数据库却发现实际已经提交了。
2、计时还未到0时就会自动提交,据反应有2分的也有7分多的。
此页里另外还有一个禁回车提交的js,所有相关代码如下:
<%
response.setCharacterEncoding("gb2312");
//清除缓存,防止页面后退
response.setHeader("Pragma","no-cache");
response.setHeader("Cache-Control","no-store");
response.setDateHeader("Expires", 0); String user = "";
String mode = request.getParameter("mode");
if(session.getAttribute("euser") == null)
{
out.println("<script language = javascript>alert('请先登录系统!');window.location.href='enter.jsp';</script>");
}
else
{
user = (String)session.getAttribute("euser");
byte b[] = user.getBytes("ISO-8859-1");
user = new String(b);
}
%>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>考试页面</title>
<style type="text/css">
<!--
.STYLE1 { font-size: 36px;
font-family: "华文行楷", "隶书", "华文彩云", "黑体";
}
.STYLE3 {font-size: 12px}
.STYLE4 {font-family: "宋体"}
.STYLE5 {font-size: 12; }
.STYLE6 {
color: #666666;
font-weight: bold;
}
.STYLE8 {font-size: 12px; color: #0000FF; }
.STYLE9 {color: #000000}
-->
</style>
<!--倒计时器-->
<script language="javascript" type="text/javascript">
var h,m,s,hstr,mstr,sstr,timestr;
var etime = 10 * 60; //倒计时的总秒数为10分钟。
function timer()
{
//h = Math.floor(etime / 3600); //时
m = Math.floor(etime / 60) % 60; //分
s = Math.floor(etime % 60); //秒
//h < 0 ? h = 0 : h = h;
m < 0 ? m = 0 : m = m;
s < 0 ? s = 0 : s = s;
//h.toString().length < 2 ? hstr = "0" + h.toString() : hstr = h; //1显示01
m.toString().length < 2 ? mstr = "0" + m.toString() : mstr = m; //1显示01
s.toString().length < 2 ? sstr = "0" + s.toString() : sstr = s; //1显示01
//timestr = hstr + ":" + mstr + ":" + sstr;
timestr = mstr + ":" + sstr;
txt.value = timestr;
etime = etime - 1;
}
</script>
<style type="text/css">
.float
{
position: fixed;
right:220px;
top:30px;
width:50px;
height:20px;
background-color: Silver;
}
.long
{
height: 30px;
}
</style>
<script language="javascript">
//防止回车误提交
//document.getElementsByName("myForm").onsubmit = function(e){
function loadf(){
document.form1.onkeydown = function(e){
var evt = e || window.event;
var ecd = evt.which || evt.keyCode;
//return ecd == 13 ?false : true;
if(ecd == 13){
evt.keyCode = 0;
return false;}
}
}
</script>
</head><body onload="window.setInterval('timer()',1000);loadf();">
<div id="floatDiv" class="float">
<input type="button" id="txt" name="txt" value="" width="15" height="10" src="../img/bg_button.jpg"/>
</div>
<div class="long"></div>
<script type="text/javascript">
var userAgent = navigator.userAgent.toLowerCase();
var browser = {
msie: /msie/.test( userAgent ) && !/opera/.test( userAgent ),
version: (userAgent.match( /.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/ ) || [0,'0'])[1]
}; var div = document.getElementById('floatDiv');
if (browser.msie && browser.version < 8) {
div.style.position = 'absolute';
var offsetTop = document.getElementById('floatDiv').offsetTop;
window.onscroll = function() {
var top = document.documentElement.scrollTop + offsetTop;
document.getElementById('floatDiv').style.top = top;
};
}
</script><!--
<script language="javascript">
function checkSubmit()
{
if(confirm('确认要提交吗?'))
{
//document.form1.action = "dealTest.jsp";
form1.submit();
}
return false;
}
</script>
-->
<form id="form1" name="form1" method="post" action="dealTest.jsp">
<script language="javascript">
setTimeout("form1.submit();",600000);
</script>
这两种情况平均每10个人就出现1-3个,麻烦大家帮忙看下啊,很急的问题,多谢了啊!
解决方案 »
- 怎么写search的函数。比如一个text框,然后onclick直接用百度search
- 求csdn左边一样的树形导航菜单
- freemarker 向action传值的问题
- 急送分·这里有一个简单的例子为什么会出现错误?
- 古怪问题求助 javascript document.execCommand 中 SaveAs 命令保存Web页面中间出现换行问题
- 大家看看我的正则为什么不好使!
- 一个简单问题,在线等,完后结贴给分
- javascript怎么给文件表单设值
- 如何取得控件方法中的参数返回?
- 使用VML做的公文留痕...俺觉得还是有用处的!!!!!!!!!!!!!!
- 缺少对象
- 如何用JS提出这样的结果
<%
response.setCharacterEncoding("gb2312");
//清除缓存,防止页面后退
response.setHeader("Pragma","no-cache");
response.setHeader("Cache-Control","no-store");
response.setDateHeader("Expires", 0); String user = "";
String mode = request.getParameter("mode"); if(session.getAttribute("euser") == null)
{
out.println(" <script language = javascript>alert('请先登录系统!');window.location.href='enter.jsp'; </script>");
}
else
{
user = (String)session.getAttribute("euser");
byte b[] = user.getBytes("ISO-8859-1");
user = new String(b);
}
%>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>考试页面 </title>
<style type="text/css">
<!--
.STYLE1 { font-size: 36px;
font-family: "华文行楷", "隶书", "华文彩云", "黑体";
}
.STYLE3 {font-size: 12px}
.STYLE4 {font-family: "宋体"}
.STYLE5 {font-size: 12; }
.STYLE6 {
color: #666666;
font-weight: bold;
}
.STYLE8 {font-size: 12px; color: #0000FF; }
.STYLE9 {color: #000000}
-->
</style>
<!--倒计时器-->
<script language="javascript" type="text/javascript">
var h,m,s,hstr,mstr,sstr,timestr;
var etime = 10; //倒计时的总秒数为10分钟。
function timer() {
//h = Math.floor(etime / 3600); //时
//m = Math.floor(etime / 60) % 60; //分
s = Math.floor(etime % 60); //秒
//h < 0 ? h = 0 : h = h;
//m < 0 ? m = 0 : m = m;
s < 0 ? s = 0 : s = s;
//h.toString().length < 2 ? hstr = "0" + h.toString() : hstr = h; //1显示01
//m.toString().length < 2 ? mstr = "0" + m.toString() : mstr = m; //1显示01
s.toString().length < 2 ? sstr = "0" + s.toString() : sstr = s; //1显示01
//timestr = hstr + ":" + mstr + ":" + sstr;
//timestr = mstr + ":" + sstr;
timestr = sstr;
txt.value = timestr;
etime = etime - 1;
if (etime ==0) {
checkSubmit();
}
}
</script>
<style type="text/css">
.float
{
position: fixed;
right:220px;
top:30px;
width:50px;
height:20px;
background-color: Silver;
}
.long
{
height: 30px;
}
</style>
<script language="javascript">
//防止回车误提交
//document.getElementsByName("myForm").onsubmit = function(e){
function loadf(){
document.form1.onkeydown = function(e){
var evt = e || window.event;
var ecd = evt.which || evt.keyCode;
//return ecd == 13 ?false : true;
if(ecd == 13){
evt.keyCode = 0;
return false;}
}
}
</script>
</head>
<body onload="window.setInterval('timer()',1000);loadf();">
<div id="floatDiv" class="float">
<input type="button" id="txt" name="txt" value="" width="15" height="10" src="../img/bg_button.jpg"/>
</div>
<div class="long"></div>
<script type="text/javascript">
var userAgent = navigator.userAgent.toLowerCase();
var browser = {
msie: /msie/.test( userAgent ) && !/opera/.test( userAgent ),
version: (userAgent.match( /.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/ ) || [0,'0'])[1]
}; var div = document.getElementById('floatDiv');
if (browser.msie && browser.version < 8) {
div.style.position = 'absolute';
var offsetTop = document.getElementById('floatDiv').offsetTop;
window.onscroll = function() {
var top = document.documentElement.scrollTop + offsetTop;
document.getElementById('floatDiv').style.top = top;
};
}
</script>
<script language="javascript">
function checkSubmit() {
if(confirm('确认要提交吗?')) {
form1.submit();
}
return false;
}
</script>
<form id="form1" name="form1" method="post" action="dealTest.jsp">
function event_timer(rt) { rt传一个时间
if (rt == 0){
提交!
}else{
setTimeout("event_timer('"+rt+"')",1000);
}
}