我正在为一个包含使用 jquery 的 jsp 文件的类制作一个 Web 应用程序。我希望应用程序在提交之前立即触发警报。这在我的真实程序中的某些时候有效,而其他时候警报永远不会触发。我似乎无法确定它始终有效或从不有效的实例。我的错误控制台对此事保持沉默,除非我添加 Firebug 断点。然后它给了我
Error: attempt to run compile-and-go script on a cleared scope
Source File: http://code.jquery.com/jquery-1.7.2.min.js
Line: 2
但我不知道那是什么意思。就 Firebug 而言,我不明白为什么评估会在警报消息之前停止。
我试图制作一个记录问题的 sscce,但我想它与我的真实程序太不同了,因为提交从来没有工作过。我将展示我真实程序中的一些代码。(抱歉缺少 SSCCE。)
$(document).ready(function() {
$("#questionDisplay").submit(function() {
var correctAnswer = $(".correctAnswer").attr("value");
var answer = "";
if ($(".multipleChoice").length > 0) {
answers = $("input:checked");
for (var obj in answers) {
answer += obj.attr("value") + "#";
}
} else if ($(".fillBlank").length > 0) {
for (var answerNo = 1; $(".answer" + answerNo).length > 0; ++answerNo) {
answer += $(".answer" + answerNo).attr("value") + "#";
}
} else {
answer = $(".answer1").attr("value");
}
if (answer == correctAnswer) {
alert("Yes! Correct!");
} else {
alert("Sorry, incorrect.");
}
});
});
jsp 是一个巨大的混乱(我们必须使用 scriplets :( ),但如果你想看到它就让我知道。
如何让我的提交处理程序每次都工作?