前文
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))}}})
参考文章
/jackliu16/article/details/79599173
/jquery/traversing_each.asp