前文
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))
}
}
})