设置cookie倒计时让让表单自动提交
<%@ page language="java" import="java.util.*" pageEncoding="gbk"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<html>
<head>
<title>开始考试</title>
<link href="student/images/css2.css" rel="stylesheet" type="text/css"/>
<style type="text/css">
<!--
.STYLE3 {font-size: 18px; }
.STYLE4 {font-size: 18px; font-weight: bold; }
.STYLE5 {color: #FF0000}
-->
</style>
<script type="text/javascript">
1 var ksTime; //定义考试时间以分钟计算
16 ksTime = 60;//设置时间 这里设置为0.1代表是6秒,测试用
17 if(readCookie("ss")=="")
18 {
19 setCookie("ss",new Date(),ksTime/60);
20 }
21 function sT()
22 {
23 var tti = new Date();
24 var lt = parseInt((tti-new Date(readCookie("ss")))/1000)
25 if((ksTime*60-lt)<0)
26 {
27 setCookie("ss",new Date(),0);
28 alert("考试时间到!\n即将提交试卷!");
29 document.forms[0].submit();
30 }
31 else
32 {
33 lm = Math.floor(lt / 60);
34 ls = lt % 60;
35 allY = ksTime*60-lt;
36 ym = Math.floor(allY / 60);
37 ys = allY % 60;
38 document.getElementById("tTime").innerHTML = "考试已经开始了" + lm + "分" + ls + "秒" + ",剩余" + ym + "分" + ys + "秒";
39 var ttt = setTimeout("sT()",1000);
40 }
41 }
42 function readCookie(name)
43 {
44 var cookieValue = "";
45 var search = name + "=";
46 if(document.cookie.length > 0)
47 {
48 offset = document.cookie.indexOf(search);
49 if (offset != -1)
50 {
51 offset += search.length;
52 end = document.cookie.indexOf(";", offset);
53 if (end == -1)
54 end = document.cookie.length;
55 cookieValue = document.cookie.substring(offset, end)
56 }
57 }
58 return cookieValue;
59 }
60 function setCookie(name, value, hours)
61 {
62 var expire = "";
63 if(hours != null) {
64 expire = new Date((new Date()).getTime() + hours * 3600000);
65 expire = "; expires=" + expire.toGMTString();
66 }
67 document.cookie = name + "=" + value + expire;
68 }
69 </script>
</head> <body onload="sT()">
<table width="1003" height="485" border="0" cellpadding="0" cellspacing="0" class="centerbg">
<tr>
<td width="149" height="485"> </td>
<td width="741" valign="top" class="rightbian">
<form action="submitExam.action" method="post">
<table width="98%" border="0" align="center" cellpadding="0" cellspacing="10">
<tr>
<td><div align="center" class="STYLE3">考试时间:60 分钟</div></td>
<td><div align="center" class="STYLE3">考生:${sessionScope.student.name}</div></td>
<td><div align="center" class="STYLE3">总分 :100 分</div></td>
</tr>
<tr>
<td> </td>
<td><div id="tTime"></div></td>
<td> </td>
</tr>
<tr>
<td colspan="3" bgcolor="#999999" class="STYLE4">选择题(每小题5分,共10个)</td>
</tr>
<!--题目开始--> <s:iterator value="#request.ChoiceQuestion" var="cq" status="sta">
<tr>
<td colspan="3"><strong>第<span class="STYLE5">${sta.index + 1}</span>题 ${cq.c_question}</strong> </td>
</tr>
<tr>
<td colspan="3"><strong>A.</strong>${cq.c_choiceA}</td>
</tr>
<tr>
<td colspan="3"><strong>B.</strong>${cq.c_choiceB}</td>
</tr>
<tr>
<td colspan="3"><strong>C.</strong>${cq.c_choiceC}</td>
</tr>
<tr>
<td colspan="3"><strong>D.</strong>${cq.c_choiceD}</td>
</tr>
<tr>
<td height="32" colspan="3" bgcolor="#CCCCCC">选择答案:
<input type="hidden" name="c_answer1${sta.index}" value="${cq.c_answer}"/>
<input type="radio" name="c_answer${sta.index}" value="A" checked="checked"/>
A
<input type="radio" name="c_answer${sta.index}" value="B" />
B
<input type="radio" name="c_answer${sta.index}" value="C" />
C
<input type="radio" name="c_answer${sta.index}" value="D" />
D</td>
</tr>
</s:iterator>
<tr>
<td colspan="3" bgcolor="#999999" class="STYLE4">填空题(每小题5分,共10个)</td>
</tr>
<s:iterator value="#request.FillQuestion" var="fq" status="stf">
<tr>
<td colspan="3"><strong>第<span class="STYLE5">${stf.index + 11}</span>题 ${fq.f_question}</strong> </td>
</tr> <tr>
<td height="32" colspan="3" bgcolor="#CCCCCC">输入答案:
<input type="hidden" name="f_answer1${stf.index}" value="${fq.f_answer}"/>
<input type="text" name="f_answer${stf.index}" size="40"/></td>
</tr>
</s:iterator>
<!--题目结束-->
<tr>
<td colspan="3"><div align="center">
<input type="submit" value=" 提交答卷 " name="Submit" />
</div></td>
</tr>
</table>
</form>
</td>
<td width="113"> </td>
</tr>
</table>
</body>
</html>
设置cookie倒计时让让表单自动提交的更多相关文章
- 按下enter键后表单自动提交问题
在HTML的form表单里,按下enter键之后,默认情况下表单会自动提交. 在公司一个项目里,按下enter键自动提交表单的查询结果与按下搜索框的搜索结果页面显示不一样,按下搜索按钮之后是通过Aja ...
- Html 中表单提交的一些知识总结——防止表单自动提交,以及submit和button提交表单的区别
转自:http://jackaudrey.blog.163.com/blog/static/1314217882010590041833/ 在页面中有多个input type="text&q ...
- chrome、firefox表单自动提交诱因 -- 非type=hidden的单输入域(input)
开发任务中遇到很费解的一个form自动提交问题,form中只有一个input时回车会触发自动提交表单,当在多一个非type=hidden的input时,又不会出现表单自动提交. 代码示例: 会出现自动 ...
- FORM中使用onSubmit="return false"防止表单自动提交,以及submit和button提交表单的区别
在页面中有多个input type="text"的文本输入框的情况下没有问题,但是当页面中有只有一个文本框的情况下(),就会出现此问题. 后来在form 中添加:onsubmit= ...
- 遇到的一个Form表单自动提交问题解决办法
Form 表单中只有一个 input 元素时按回车会默认提交表单.有的时候我们希望按回车可以进行列表查询,但是查询后表单被自动提交了,然后刷新了整个页面.这个时候就需要对这个 Form 表单处理一下以 ...
- 按Enter键后Form表单自动提交的问题
怪事年年有,今年特别多. 话说,最近项目中遇到一件怪事,当我鼠标focus在文本框中,轻轻敲了下回车键,尼玛页面突然刷新了,当时把宝宝给吓得. 接下来就是一番苦逼的烧脑和蛋疼~ 一.被表象所迷惑 突然 ...
- form表单自动提交
form表单提交是web项目中经常遇到的,但是如果form中只有一个input为text类型的输入框时, 需要格外注意,因为这时候只要你按下回车键,form表单就会自动提交,这是form表单的一个特性 ...
- form表单中只有一个input时,按回车键后表单自动提交(form表单的一个小坑)
form中只有一个input按回车键表单会自动提交 在一个form表单中,若只有一个input,按回车键表单会自动提交,但是当表单中存在多个input时,按回车键不会执行任何操作,这是form表单的一 ...
- ajax防止表单自动提交
重写表单的checkForm方法,并用if和else解决异步判断的问题. function checkForm(){ 1 var flag = false; $.ajaxSetup({async : ...
随机推荐
- BZOJ 2432 兔农
Description 农夫栋栋近年收入不景气,正在他发愁如何能多赚点钱时,他听到隔壁的小朋友在讨论兔子繁殖的问题. 问题是这样的:第一个月初有一对刚出生的小兔子,经过两个月长大后,这对兔子从第三个月 ...
- [BZOJ 3172] [Tjoi2013] 单词 【AC自动机】
题目链接:BZOJ - 3172 题目分析: 题目要求求出每个单词出现的次数,如果把每个单词都在AC自动机里直接跑一遍,复杂度会很高. 这里使用AC自动机的“副产品”——Fail树,Fail树的一个性 ...
- Borg Maze poj 3026
Description The Borg is an immensely powerful race of enhanced humanoids from the delta quadrant of ...
- 使用 Spring Data JPA 简化 JPA 开发
从一个简单的 JPA 示例开始 本文主要讲述 Spring Data JPA,但是为了不至于给 JPA 和 Spring 的初学者造成较大的学习曲线,我们首先从 JPA 开始,简单介绍一个 JPA 示 ...
- Hibernate 配置详解(2)
6) hibernate.session_factory_name: 配置一个JNDI名称,通过Configuration对象创建的SessionFactory会绑定到JNDI下该名称中.一般名字格式 ...
- XFS:大数据环境下Linux文件系统的未来?
XFS:大数据环境下Linux文件系统的未来? XFS开发者Dave Chinner近日声称,他认为更多的用户应当考虑XFS.XFS经常被认为是适合拥有海量数据的用户的文件系统,在空间分配方面的可 ...
- Cent OS 命令行和窗口界面默认登录切换方法
在 CentOS 中的修改方法如下: 1. root登陆,免得老是sudo 2. 打开/etc/inittab 文件 #vim /etc/inittab 3. 在默认的 run level 设 ...
- 【模拟】ECNA 2015 I What's on the Grille? (Codeforces GYM 100825)
题目链接: http://codeforces.com/gym/100825 题目大意: 栅栏密码.给定N(N<=10),密钥为一个N*N的矩阵,'.'代表空格可以看到,'X'代表被遮挡,还有密 ...
- CodeForces 689A -Mike and Cellphone
题目链接:http://acm.hust.edu.cn/vjudge/problem/visitOriginUrl.action?id=412142 题目大意: 给定一个0-9数字键盘,随后输入一个操 ...
- Jenkins 十二: 集成 selenium 测试
我的selenium采用的是python版本. 其实 selenium java版本也类似. 1. 在jenkins里面新建selenium 测试项目. 源码管理采用 “Subversion”,输入 ...