前文
JavaScript——易班优课YOOC课群在线测试自动答题解决方案(一)答案获取
Spring Boot——易班优课YOOC课群在线测试自动答题解决方案(二)答案储存
Spring Boot——易班优课YOOC课群在线测试自动答题解决方案(三)答案查询
JavaScript——易班优课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))
}
}
})