公司丢来几十个人的名单,这周内要全部完成八大员继续教育在线考试。考试本身不难,每个人登陆账号后从数据库几千道题目中随机抽取50道题生成试卷,直接百度搜答案就行。
过程甚是枯燥,也浪费时间,顺便研究下能不能搞点骚操作吧,找到提交答题触发的函数:
点击提交按钮,触发SubmitExam函数,继续看看这个函数提交给后台什么数据:
就是提交一个学员ID,和一个答题数组,继续研究下这个examArray答题数组:
function getAnswers() {
examArray = [];
$(".layui-form").each(function () {
var questionId = $(this).attr("target");
var questionNum = $(this).attr("data-num");
var questionType = $(this).attr("data-type");
if (questionType == 1) {
var radioName = "singleRadio" + questionId;
var checkval = $("input[name='" + radioName + "']:checked").val();
if (checkval != "" && checkval != undefined) {
examArray.push({ "QustionId": questionId, "QustionNum": questionNum, "Answer": checkval }); //添加对象
//SaveAnswerInfo(questionNum, questionId, checkval);
} else {
examArray.push({ "QustionId": questionId, "QustionNum": questionNum, "Answer": checkval }); //添加对象
}
} else if (questionType == 2) {
var checkName = "moreCheckbox" + questionId;
var arr = "";
var temp = "";
$("input[name='" + checkName + "']:checked").get().forEach(function (obj) {
if (obj.checked) {
arr += $(obj).val();
}
});
for (var i = 0; i < arr.length; i++) {
temp += arr.substr(i, 1) + ",";
}
temp = temp.substr(0, temp.length - 1);
if (temp != "") {
examArray.push({ "QustionId": questionId, "QustionNum": questionNum, "Answer": temp });
}
else {
examArray.push({ "QustionId": questionId, "QustionNum": questionNum, "Answer": temp });
}
//SaveAnswerInfo(questionNum, questionId, temp);
} else if (questionType == 3) {
var decideName = "decideRadio" + questionId;
var decideval = $("input[name='" + decideName + "']:checked").val();
if (decideval != "" && decideval != undefined) {
// SaveAnswerInfo(questionNum, questionId, decideval);
examArray.push({ "QustionId": questionId, "QustionNum": questionNum, "Answer": decideval });
} else {
examArray.push({ "QustionId": questionId, "QustionNum": questionNum, "Answer": decideval });
}
}
});
};
可以看出来,就是提交每一道题目的ID,编号和答案,那这样就有操作的空间了~
开始改写函数:
function getAnswers() {
examArray = [];
$(".layui-form").each(function () {
var questionId = $(this).attr("target");
var questionNum = $(this).attr("data-num");
var questionType = $(this).attr("data-type");
if (questionType == 1) {
var radioName = "singleRadio" + questionId;
var checkval = $("input[name='" + radioName + "']:checked").val();
if (checkval != "" && checkval != undefined) {
examArray.push({ "QustionId": "15649", "QustionNum": questionNum, "Answer": "D" }); //添加对象
//SaveAnswerInfo(questionNum, questionId, checkval);
} else {
examArray.push({ "QustionId": "15649", "QustionNum": questionNum, "Answer": "D" }); //添加对象
}
} else if (questionType == 2) {
var checkName = "moreCheckbox" + questionId;
var arr = "";
var temp = "";
$("input[name='" + checkName + "']:checked").get().forEach(function (obj) {
if (obj.checked) {
arr += $(obj).val();
}
});
for (var i = 0; i < arr.length; i++) {
temp += arr.substr(i, 1) + ",";
}
temp = temp.substr(0, temp.length - 1);
if (temp != "") {
examArray.push({ "QustionId": "15666", "QustionNum": questionNum, "Answer": "A,B,C" });
}
else {
examArray.push({ "QustionId": "15666", "QustionNum": questionNum, "Answer": "A,B,C" });
}
//SaveAnswerInfo(questionNum, questionId, temp);
} else if (questionType == 3) {
var decideName = "decideRadio" + questionId;
var decideval = $("input[name='" + decideName + "']:checked").val();
if (decideval != "" && decideval != undefined) {
// SaveAnswerInfo(questionNum, questionId, decideval);
examArray.push({ "QustionId": "15196", "QustionNum": questionNum, "Answer": "B" });
} else {
examArray.push({ "QustionId": "15196", "QustionNum": questionNum, "Answer": "B" });
}
}
});
};
全部换成已经百度到答案的固定题目,看下效果:
这下效率大大提升~
最后,重要的事情说三遍:
本文仅供技术探讨!本文仅供技术探讨!本文仅供技术探讨!