前文

JavaScript——易班优课YOOC课群在线测试自动答题解决方案(一)答案获取

Spring Boot——易班优课YOOC课群在线测试自动答题解决方案(二)答案储存

Spring Boot——易班优课YOOC课群在线测试自动答题解决方案(三)答案查询

JavaScript——易班优课YOOC课群在线测试自动答题解决方案(四)答案显示

JavaScript——易班优课YOOC课群在线测试自动答题解决方案(五)简单脚本

Spring Boot——易班优课YOOC课群在线测试自动答题解决方案(六)后端改造

问题分析

为了获取易班题库,势必需要大量的练习,而易班增加了不允许提交白卷的设置。

提交按钮事件

 submitAnswer()方法

如果直接使用  submitAnswer()方法,服务端的校验不能通过。

_AnswerData()方法和AnswerData 

 

题目事件监听 

答案保存 

大致流程:点击选项/或者填写内容 -> 触发事件监听 -> 保存答案到浏览器缓存和服务器 -> 提交试卷

解决方案

//获取问题信息var question=Array.from(document.getElementsByClassName('question-board'))question.forEach(q=>{console.log(q)let inputTag=q.getElementsByTagName('input')console.log(inputTag)if(inputTag.length>0){let Ele=inputTag[0]if(Ele.type==="radio"||Ele.type==="checkbox"){if(Ele.type==="radio"){Ele.checked=true;}else if(Ele.type==="checkbox"){Ele.checked=true;}//页面方法choiceAnswerData($(q))}else if(Ele.type==="text"){let Eles=Array.from(inputTag)Eles.forEach(e=>{e.value="test"})//页面方法inputAnswerData($(q))}}})

参考文章

https://blog.csdn.net/jackliu16/article/details/79599173

https://www.w3school.com.cn/jquery/traversing_each.asp

STZG
原创文章 1560获赞 325访问量 60万+
展开阅读全文