
关于JSP中动态生成的checkbox 互斥和文本关联问题
我们在做一个Oracle的数据库实践项目,开发工具是myeclipse和tomcat,我是jsp新手,遇到问题,希望高手指点。我们开发网上考试系统,一个网页的内容是提供教...
我们在做一个Oracle的数据库实践项目,开发工具是myeclipse和tomcat,我是jsp新手,遇到问题 ,希望高手指点。
我们开发网上考试系统,一个网页的内容是提供教师评判试卷的功能,Table表单中的内容是动态从数据库中读取的,包括试题标号,用户答案,正确答案,满分,教师负责打出合适分数。我想在教师打分的<td>里做两个checkbox,一个标记对,一个是错,当教师打钩以后会分别将满分和零分填写到后面的text中,当然对于不是完全正确的题目也可以教师自己填一个适当的分数。但是问题是我在网上找的关于互斥的代码都不好用,关于文本自动填写我也满头雾水,Jsp学习不到一个月。我的代码如下,希望得到调试(很多东西都是这样,理论和实际不符合)以后的答案,如果您是对的,我会追加分数30:主要代码
<%@ page language="java" import="java.util.*" import="java.sql.*" pageEncoding="gb2312"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
String EXAMID=request.getParameter("EXAMID");
Integer x=1;
%>
<SCRIPT LANGUAGE=javascript>
function chk2click()(){
document.chk21.checked=false;
}
function chk1click()(){
document.chk11.checked=false;
}
</SCRIPT>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>My JSP 'grade4.jsp' starting page</title>
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
</head>
<body bgcolor="ccffee">
<img border="0" src="image/head.JPG">
<br>
<a href="index.jsp">返回首页 </a>
<a href="upload.jsp">上传试题</a>
<a href="grade1.jsp">评判试卷</a>
<% 从数据库中读
ResultSet rs=stmt.executeQuery(sql);
%>
<table cellspacing="3" cellpadding="3" align="center" border="3" bgcolor="#91f293" width="60%">
<tr> <td>题号</td> <td> 用户答案</td><td>正确答案</td><td>满分</td><td> 教师评判</td>
<%
while(rs.next()) {
%>
<tr>
<td> <%=rs.getInt(1)%></td>
<td><%=rs.getString(2)%></td>
<td><%=rs.getString(3)%></td>
<td><%=rs.getInt(4)%></td>
<td>
<input type="checkbox" id="chk1<%=x%>" onclick="chk2click()">对
<input type="checkbox" id="chk2<%=x%>" onclick="chk1click()">错
<input type="text" name="text<%=x%>" size="5"><font size=3 color="red" >分</font>
</td>
</tr>
<%
x++;
}
%>
</table>
<%
关数据库
%>
</body>
</html> 展开
我们开发网上考试系统,一个网页的内容是提供教师评判试卷的功能,Table表单中的内容是动态从数据库中读取的,包括试题标号,用户答案,正确答案,满分,教师负责打出合适分数。我想在教师打分的<td>里做两个checkbox,一个标记对,一个是错,当教师打钩以后会分别将满分和零分填写到后面的text中,当然对于不是完全正确的题目也可以教师自己填一个适当的分数。但是问题是我在网上找的关于互斥的代码都不好用,关于文本自动填写我也满头雾水,Jsp学习不到一个月。我的代码如下,希望得到调试(很多东西都是这样,理论和实际不符合)以后的答案,如果您是对的,我会追加分数30:主要代码
<%@ page language="java" import="java.util.*" import="java.sql.*" pageEncoding="gb2312"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
String EXAMID=request.getParameter("EXAMID");
Integer x=1;
%>
<SCRIPT LANGUAGE=javascript>
function chk2click()(){
document.chk21.checked=false;
}
function chk1click()(){
document.chk11.checked=false;
}
</SCRIPT>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>My JSP 'grade4.jsp' starting page</title>
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
</head>
<body bgcolor="ccffee">
<img border="0" src="image/head.JPG">
<br>
<a href="index.jsp">返回首页 </a>
<a href="upload.jsp">上传试题</a>
<a href="grade1.jsp">评判试卷</a>
<% 从数据库中读
ResultSet rs=stmt.executeQuery(sql);
%>
<table cellspacing="3" cellpadding="3" align="center" border="3" bgcolor="#91f293" width="60%">
<tr> <td>题号</td> <td> 用户答案</td><td>正确答案</td><td>满分</td><td> 教师评判</td>
<%
while(rs.next()) {
%>
<tr>
<td> <%=rs.getInt(1)%></td>
<td><%=rs.getString(2)%></td>
<td><%=rs.getString(3)%></td>
<td><%=rs.getInt(4)%></td>
<td>
<input type="checkbox" id="chk1<%=x%>" onclick="chk2click()">对
<input type="checkbox" id="chk2<%=x%>" onclick="chk1click()">错
<input type="text" name="text<%=x%>" size="5"><font size=3 color="red" >分</font>
</td>
</tr>
<%
x++;
}
%>
</table>
<%
关数据库
%>
</body>
</html> 展开
展开全部
1、在页面加一段Javascript如下:
<script>
function chkclick(index,checked)
{
var valv=document.getElementById("value"+index);
var txtv=document.getElementById("text"+index);
var check1=document.getElementById("chk1"+index);
var check2=document.getElementById("chk2"+index);
if(checked)
{
check2.checked=false;
txtv.value=valv.value;
}
else if(!checked)
{
check1.checked=false;
txtv.value=0;
}
}
</script>
2、将代码中的while 中的部分替换成下面的代码
<%
while(rs.next()) {
%>
<tr>
<td> <%=rs.getInt(1)%></td>
<td><%=rs.getString(2)%></td>
<td id=value<%=x%>><%=rs.getString(3)%></td>
<td><%=rs.getInt(4)%></td>
<td>
<input type="checkbox" id="chk1<%=x%>" onclick="chkclick(<%=x%,true)">对
<input type="checkbox" id="chk2<%=x%>" onclick="chkclick(<%=x%>,false)">错
<input type="text" name="text<%=x%>" size="5"><font size=3 color="red" >分</font>
</td>
</tr>
<%
x++;
}
%>
<script>
function chkclick(index,checked)
{
var valv=document.getElementById("value"+index);
var txtv=document.getElementById("text"+index);
var check1=document.getElementById("chk1"+index);
var check2=document.getElementById("chk2"+index);
if(checked)
{
check2.checked=false;
txtv.value=valv.value;
}
else if(!checked)
{
check1.checked=false;
txtv.value=0;
}
}
</script>
2、将代码中的while 中的部分替换成下面的代码
<%
while(rs.next()) {
%>
<tr>
<td> <%=rs.getInt(1)%></td>
<td><%=rs.getString(2)%></td>
<td id=value<%=x%>><%=rs.getString(3)%></td>
<td><%=rs.getInt(4)%></td>
<td>
<input type="checkbox" id="chk1<%=x%>" onclick="chkclick(<%=x%,true)">对
<input type="checkbox" id="chk2<%=x%>" onclick="chkclick(<%=x%>,false)">错
<input type="text" name="text<%=x%>" size="5"><font size=3 color="red" >分</font>
</td>
</tr>
<%
x++;
}
%>
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询