自动勾选 value=0 的评分项,填写评语并提交表单
// ==UserScript==
// @name NEUQ 教学质量评价自动填写脚本
// @namespace https://neuq.edu.cn/
// @version 1.2
// @description 自动勾选 value=0 的评分项,填写评语并提交表单
// @author one NEUQer
// @match https://jwxt.neuq.edu.cn/eams/quality/stdEvaluate.action/*
// @grant none
// @run-at document-idle
// @license MIT License
// ==/UserScript==
(function () {
'use strict';
// 等待 DOM 加载完成后再执行
function waitForElement(selector, callback, timeout = 5000) {
const startTime = Date.now();
const interval = setInterval(() => {
const element = document.querySelector(selector);
if (element) {
clearInterval(interval);
callback(element);
} else if (Date.now() - startTime > timeout) {
clearInterval(interval);
console.warn(`未找到元素: ${selector}`);
}
}, 100);
}
// 勾选所有 value == "0" 的 input(通常是评分项)
function autoCheckInputs() {
let inputs = document.querySelectorAll("input");
for (let i = 0; i < inputs.length; i++) {
if (inputs[i].type === 'radio' && inputs[i].value === "0") {
inputs[i].checked = true;
}
}
}
// 设置 textarea 的值为“无”
function fillTextarea() {
let textarea = document.querySelector("textarea");
if (textarea && !textarea.value.trim()) {
textarea.value = "无";
}
}
// 点击提交按钮 #sub
function submitForm() {
let submitBtn = document.querySelector("#sub");
if (submitBtn) {
submitBtn.click();
console.log("✅ 表单已自动提交!");
}
}
// 主函数:逐步执行任务
function main() {
autoCheckInputs();
fillTextarea();
waitForElement("#sub", submitForm);
}
// 延迟执行,确保页面内容加载完毕
setTimeout(main, 1000);
})();