简单的答题网页

chrome是写js的神器啊

http://blog.sina.com.cn/s/blog_6db312f10101ac8p.html 


后面懒得写下去了,东西打包了,

http://download.youkuaiyun.com/detail/artemisrj/8280401

其中填空题其实内容不应该用div包着的,不然又浮动。


因为某个原因写个小脚本,, 设定是学生可以选择自己的答案,选完了答案可以看结果,题目是固定的,答案也是固定了,其实就是静态网页。所以先上html版本的

<form>
			<div class="question">
			<label class="quiz-content">
				题目1
			</label>
			<div class="answers">
				<input type="radio" value="1" name="bb" > 选项1
				<input type="radio" value="2" name="bb" > 选项2
				<input type="radio" value="3" name="bb" > 选项2
				<input type="radio" value="4" name="bb" > 选项2
			</div>
			<div class="explain">
			这里是要隐藏的答案
			</div>
			</div><!-- 这是一道题的结尾 -->
			
			
			<div class="submit">
				<input type="button" value="提交" onclick="return valid();">
			</div>
		</form>
相应的javascript

<script type="text/javascript">
   function valid(){
	 var str=document.getElementsByTagName("div");
	 //alert(str.length);
	 for(var i=0;i<str.length;i++){
		if(str[i].className=="explain"){
			str[i].style.display="block";
		}
	 }
     return true;
   }
</script>
相应的css

.explain{
display:none;
}
这才发现没有根据class名字遍历的,只能根据getElementsByTagName 或者是Id来遍历DOM的节点,这个略坑啊。发现是自己的误会。 getElementsByClassName也行,

这里实现了按提交就能显示相应的答案的功能。

——————————————

下一步,我们想要能够显示答案的对错 

var dot=document.createElement("div");
dot.innerText="你的答案是正确的";
answerDot.appendChild(dot);
//其中,answerDot是要加DOM的父节点
添加子节点有两种方式,appendChild方法是在父级节点中的子节点的末尾添加新的节点(相对于父级节点 来说)。
     insertBefore 方法 是在已有的节点前添加新的节点(相对于子节点来说的)。 

判断单选正确与否

其实是判断网页两个节点的部分是否相同 

<label class="quiz-content">
	题目1,这道题选A,
</label>
<div class="answers">
	<input class="radio" type="radio" value="A" name="q1" > 选项1
	<input class="radio" type="radio" value="B" name="q1" > 选项2
	<input class="radio" type="radio" value="C" name="q1" > 选项2
	<input class="radio" type="radio" value="D" name="q1" > 选项2
</div>
<div class="explain">
	<div class="option">A</div>
	这里是要隐藏的答案		
</div>

var dot=document.createElement("div");
option=ex[i].getElementsByClassName("option");
//alert(option[0].innerText);//获得正确选项

var cc=an[i].getElementsByClassName("radio");
var readerChoice;
for(var j=0;j<cc.length;j++){
	if(cc[j].checked){
		readerChoice=cc[j].value;
		//alert(readerChoice);
	}
}
//获得读者选的答案

if(readerChoice==option[0].innerText){
	dot.innerText="你的答案是"+readerChoice+",正确的";
}else{
	dot.innerText="你的答案是"+readerChoice+",错误的";
}
<pre name="code" class="javascript">var ex=document.getElementsByClassName("explain");
var an=document.getElementsByClassName("answers");

,,,突然发现需求有分各种题型,然后就用fieldset把题目们分开,关键内容写在legend标签后面就行了

<fieldset>
<legend >
选择题
</legend>
</fieldset>
效果如下 

为了能够让结果出现红色的叉和绿色的勾,我们设置节点的属性,

theJudge.setAttribute("class","true");
theJudge是一个节点,这句可以设置属性。


关于下拉框的代码

<select id="gridType"> 
<option value="all">Both</option>
<option value="positive">Positive</option>
<option value="negative">Negative</option>
</select>
$("#gridType").change(function(){
		var type=$(this).children('option:selected').val();
		
		
	})




### 实现自动答题功能的网页部署与开发 要在 Tomcat 服务器中实现带有自动答题功能的网页部署与开发,可以从以下几个方面入手: #### 1. **环境准备** 为了支持 JSP 页面和 Servlet 的运行,需要完成以下准备工作: - 安装 JDK 并配置 `JAVA_HOME` 环境变量[^2]。 - 下载并安装 Apache Tomcat,并设置 `CATALINA_HOME` 或将其解压至目标目录[^2]。 - 配置 Eclipse IDE(或其他 IDE),使其能够识别 Tomcat 作为 Web 应用容器。可以通过勾选 “use workspace metadata” 来避免直接修改 Tomcat 的安装路径[^1]。 #### 2. **创建 Web 项目** 在 Eclipse 中新建一个 Dynamic Web Project 类型的项目: - 设置项目的名称、目标运行时(选择已配置好的 Tomcat 版本)以及其他选项。 - 自动生成的标准目录结构包括 `WebContent` 文件夹(用于存储前端资源如 HTML 和 JSP 文件)以及 `WEB-INF/classes` 文件夹(用于存放 Java 字节码文件)[^2]。 #### 3. **设计自动答题逻辑** 假设自动答题功能涉及简单的表单提交处理,则可以在 JSP 页面中嵌入必要的脚本来捕获用户输入的数据并通过后台计算得出答案。例如,在 `index.jsp` 文件中定义如下内容: ```jsp <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> <title>自动答题</title> </head> <body> <h1>请输入您的问题:</h1> <form action="answer.jsp" method="post"> <input type="text" name="question" placeholder="在这里提问..." required /> <button type="submit">获取答案</button> </form> </body> </html> ``` 随后,在另一个名为 `answer.jsp` 的页面里解析请求参数并返回响应结果: ```jsp <%@ page import="java.util.Random" %> <% String question = request.getParameter("question"); if (question != null && !question.isEmpty()) { Random rand = new Random(); int answerCode = rand.nextInt(3); // 假设随机生成三种可能的回答 String[] answers = {"当然可以!", "恐怕不行哦~", "再试试看吧?"}; out.println("<p><strong>" + answers[answerCode] + "</strong></p>"); } else { response.sendRedirect("index.jsp"); // 如果未提供有效数据则重定向回首页 } %> ``` 以上代码片段展示了如何利用 JSP 技术接收来自用户的查询字符串并将之映射到预定义的一组回复之一上[^2]。 #### 4. **部署到 Tomcat** 当完成了所有源文件编辑之后,右键点击该项目 -> Export... -> WAR file 导出打包后的 `.war` 归档文件。接着将此压缩包复制粘贴进本地 Tomcat 的 `webapps/` 子目录下即可触发自动解压过程从而完成实际发布操作[^1]^。 或者也可以通过 Eclipse 内部集成功能一键式启动关联的服务实例来测试效果而无需手动干预任何外部命令行工具链调用情况说明文档链接地址等等细节部分省略此处不再赘述更多相关内容可查阅官方手册参考资料列表编号分别为 [^1], [^2]. --- ###
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值