<input type="radio" >与<input type="checkbox">值得获取
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@taglib prefix="s" uri="/struts-tags"%>
<!DOCTYPE html> <html>
<head> <meta http-equiv="content-type" content="text/html; charset=UTF-8">
<link rel="stylesheet" type="text/css" href="styles/03.css">
<link rel="stylesheet" type="text/css" href="styles/02.css">
<script type="text/javascript" src="scripts/jquery-1.7.2.min.js"></script> <script>
var intervalId;
var t ;
var showTime; var startTime = <%=session.getAttribute("startTime")%>
var endTime = <%=session.getAttribute("endTime") %>
var nowTime = new Date().getTime();
var questionType ;
var answStr = "";
var singleStr = "";
var value ;
var mes ; $(function() { questionType = $("#queType").val();
if(endTime <= nowTime){
alert("考试时间到!系统将自动提交考卷");
examFinish();
return ;
} var seconds = Math.floor((endTime - nowTime)/1000);
t = seconds;
intervalId = setInterval("count()", 1000); //定义一个定时器
$("#timeCount").html(seconds); //显示当前的秒数
}); function count() {
t--; //秒数自减
if (t >= 0) {
if (t < 10) {
$("#timeCount").fadeOut(50, function() {
});
$("#timeCount").fadeIn(50, function() {
$("#timeCount").css("color", "#000");
});
}
if (t < 10) {
showTime = "0" + ('' + t);
} else {
showTime = t;
}
var mm = parseInt(t / 1000 / 60 % 60, 10);
var ss = parseInt(t / 1000 % 60, 10);
$("#timeCount").html(showTime); //刷新当前的秒数,重新显示秒数
document.cookie = "seconds=" + t;
if(showTime <= 0){
examFinish();
return;
}
}
} /**
* 对get请求处理未post请求
*/
function post(url, params) {
var temp = document.createElement("form");
temp.action = url;
temp.method = "post";
temp.style.display = "none";
for (var x in params) {
var opt = document.createElement("textarea");
opt.name = x;
opt.value = params[x];
temp.appendChild(opt);
}
document.body.appendChild(temp);
temp.submit();
return temp;
} //获取单选按钮值(包括单选和判断)
function getSingleAnswer(id) {
var params = document.getElementsByName("singleAnswer" + id);
var position;
var endPos = 4;
id = id + 60 ;
var oldMes ;
if(id >= 10){
endPos = 4;
}
for ( var i = 0; i < params.length; i++) {
value = params.item(i).getAttribute("value");
mes = id + ":"+ value + ";"
if(singleStr.indexOf(id + ":") < 0 && params.item(i).checked){
singleStr += mes;
return ;
}else if(singleStr.indexOf(id + ":") >= 0 && params.item(i).checked){
position = singleStr.indexOf(id);
oldMes = singleStr.substring(position, position + endPos + 1);
singleStr = singleStr.replace(oldMes, mes);
return ;
}
}
}
//获取复选框值,多选题
function getMultiAnswer(id) {
var box = document.getElementsByName("question.userAnswers"+id);
for ( var i = 0; i < box.length; i++) {
value = box.item(i).getAttribute("value");
mes = id + ":"+ value + ";" ;
if(answStr.indexOf(mes) < 0 && box.item(i).checked){
answStr += mes;
return ;
}else if(answStr.indexOf(mes) >= 0 && !box.item(i).checked){
answStr = answStr.replace(mes, "");
return ;
}
}
//return answStr;
} function userAnswers(id,type){
//alert("type:"+type);
if(type == 1){
getMultiAnswer(id);
}else{
getSingleAnswer(id);
}
} //整个界面提交
function examFinish(){
var answer = answStr + singleStr;
$("#fromBut").attr("action","examAction!examFinish.action?answer="+ answer);
$("#fromBut").submit();
} </script>
</head> <body >
<div id="overDiv" style="display:none;">
<div class="header">
<h1><img src="styles/images/da.png" height="60px" width="60px" text-align="bottom"> 考试结束</h1>
<p>
<time><%= new java.text.SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss E").format(new Date()) %></time>
</p>
</div>
<div class="section">
<p class="larger">
<img src="styles/images/ok.png" width="40" height="40"/>
[<span class="red1"><s:property value="#session.user.name"/></span>] 您好,您的考试次数已经够了!
</p>
<p class="aligncenter">
您已考过[ <span class="red1"><s:property value="#session.user.num"/></span> ] 次, 您可以
<a href="index.jsp" class="ala">回首页</a>
</p>
</div> </div>
<div id="examDiv"> <div class="section" id="ee">
<div id="exam">
<input type="hidden" name="questionType" id="queType" value="<s:property value="question.type"/>">
<form action="" method="post" id = "fromBut">
<s:iterator value="questions" status="status" var="list">
<s:if test="#list.value[0].type == 2">
二、判断题(每题1分)<br/>
</s:if>
<s:elseif test="#list.value[0].type == 1">
一、多选题(每题1分)<br/>
</s:elseif>
<s:iterator value="#list.value" status="st">
<div class="biaot">
<s:property value="id"/>、
<s:property value="title"/><br/>
</div>
<s:if test="type == 2">
<input type="radio" name="singleAnswer${id }" value="0" onclick="userAnswers(${id},${type })" id="userAnswers${id + 60 }" />对
<input type="radio" name="singleAnswer${id }" value="1" onclick="userAnswers(${id},${type })" id="userAnswers${id + 60 }" />错
<br/>
</s:if>
<div class="daan">
<s:elseif test="type == 1">
<s:iterator value="options" id="option" status="status">
<input type="checkbox" name="question.userAnswers${id}" value="<s:property value="#status.index"/>" onclick="userAnswers(${id},${type })" id="userAnswers${id }">
<s:if test="#status.index == 0">A、</s:if>
<s:if test="#status.index == 1">B、</s:if>
<s:if test="#status.index == 2">C、</s:if>
<s:if test="#status.index == 3">D、</s:if>
<s:if test="#status.index == 4">E、</s:if>
<s:if test="#status.index == 5">F、</s:if>
<s:property value="#option"/>
</input>
<br>
</s:iterator>
</s:elseif>
</div>
</s:iterator>
<br/>
</s:iterator> </form> </div>
</div>
</div>
<div class="footer">
<%@include file="/foot.jsp" %>
</div>
</body>
</html>
<input type="radio" >与<input type="checkbox">值得获取的更多相关文章
- 定制 input[type="radio"] 和 input[type="checkbox"] 样式
表单中,经常会使用到单选按钮和复选框,但是,input[type="radio"] 和 input[type="checkbox"] 的默认样式在不同的浏览器或 ...
- 修改 input[type="radio"] 和 input[type="checkbox"] 的默认样式
表单中,经常会使用到单选按钮和复选框,但是,input[type="radio"] 和 input[type="checkbox"] 的默认样式在不同的浏览器或 ...
- 关于jq操作table下多个type=radio的input的选中
假如有2个table: <table id="table1" border="0"> <tr> <td><input ...
- 点击DIV触发其他元素的点击事件(案例:点击type="radio" 的input 标签外层DIV,触发内部单选点击选中事件)
方法一: 直接用找到对应dom元素调用.click()方法 $('.user_content').click(function(){ $(this).children()[0].click(); // ...
- 纯css兼容个浏览器input[type='radio']不能自定义样式
各个浏览器对于表单input[type='radio'].input[type='checkbox']的样式总是各有差异 //html <div class="remember-a ...
- css 能改变input type radio和checkbox 圆圈或方框的大小
把input隐藏,外面套label,再里面加个span,样式写在span上,让label覆盖在span上面,js去改active的class <label for="remember& ...
- input(type="checkbox"|type="radio")+jquery使用
1.用.is(":checked")判断input是否为选中状态 例: var value=$(this).is(":checked"); localStora ...
- 自定义input[type="radio"]的样式
对于表单,input[type="radio"] 的样式总是不那么友好,在不同的浏览器中表现不一. 为了最大程度的显示出它们的差别,并且为了好看,首先定义了一些样式: <fo ...
- 自定义input[type="radio"]的样式(支持普通浏览器,IE8以上)
对于表单,input[type="radio"] 的样式总是不那么友好,在不同的浏览器中表现不一. 对单选按钮自定义样式,我们以前一直用的脚本来实现,不过现在可以使用新的伪类 :c ...
随机推荐
- 4069: [Apio2015]巴厘岛的雕塑
Description 印尼巴厘岛的公路上有许多的雕塑,我们来关注它的一条主干道. 在这条主干道上一共有 N 座雕塑,为方便起见,我们把这些雕塑从 1 到 N 连续地进行标号,其中第 i 座雕塑的年龄 ...
- LightOj_1408 Batting Practice
题目链接 题意: 击球训练中, 你击中一个球的概率为p,连续击中k1个球, 或者连续击空k2个球, 则训练结束. 求结束训练所击球次数的期望. 思路: 设f[x]为连续击中x个球, 距离结束训练所需要 ...
- C# string LastIndexOf()
IndexOf(“FindText",start,len) 中的Start和Len是从左往右数的 LastIndexOf(“FindText",start,len)中的则是从右往左 ...
- Wordpress 网站搭建及性能监控方法详解!
前言 说到 Wordpress,大家往往想到的是博客,其实,如今的 WordPress 已经成为全球使用量最多的开源 CMS 系统.并且,如果你有一定的技术基础稍加改动,就可以搭建出新闻网站.企业网站 ...
- 【HDU4333】Revolving Digits(扩展KMP+KMP)
Revolving Digits Description One day Silence is interested in revolving the digits of a positive i ...
- ASP.NET Web API 2 入门(一)
前言 HTTP 不是只是为了服务的 web 页.这也是建设公开服务和数据的 Api 的强大平台.HTTP 是简单的. 灵活的和无处不在.你能想到的几乎任何平台有 HTTP 库,因此,HTTP 服务可以 ...
- 解决wordpress上传的文件尺寸超过 php.ini 中定义的 upload_max_filesize 值。
上传的文件尺寸超过 php.ini 中定义的 upload_max_filesize 值. 解决方法:修改/etc/php5/apache2/php.ini文件中的 post_max_size = 6 ...
- JAVA 内存泄漏与内存溢出
一.Java内存回收机制 不论哪种语言的内存分配方式,都需要返回所分配内存的真实地址,也就是返回一个指针到内存块的首地址.Java中对象是采用new或者反射或者clone或者反序列化的方法创建的, 这 ...
- C#功能扩张方式
有时候,为了完成一些window的一些操作,需要引入一些dll进行操作 1) 引入系统api进行操作,形如[DllImport("urlmon.dll", CharSet = C ...
- 2.linux下Makefile编写规范
转自陈皓 (CSDN) 概述—— 什么是makefile?或许很多Winodws的程序员都不知道这个东西,因为那些Windows的IDE都为你做了这个工作,但我觉得要作一个好的和 profession ...