我有非常简单的 html 和 js 文件 - 我在下面包含了这些文件。
有趣(也令人沮丧)的是这些文件在 Safari 中工作 - 但在 Firefox 中,按下提交按钮会生成以下错误消息:
错误:sFeedback 未定义
源文件:javascript:sFeedback(); 线路:1
阅读其他帖子,如Firefox 中未定义的 JavaScript 函数?,似乎Firefox可能需要先定义函数才能调用它。如果是这种情况,有没有办法 - 在我的设置中 - 在调用之前定义函数?
测验.html:
<!DOCTYPE html>
<html>
<head>
<title>Math Quiz</title>
<meta name="generator" content="BBEdit 9.6" />
</head>
<script language="JavaScript" src="generateQuizItem.js">
</script>
<body onLoad="javascript:sGenerateQuizItem();">
</body>
</html>
和 javascript:
var a0;
var a1;
var sum;
function sFeedback()
{
var answer = document.quiz_form.answer.value;
document.write("answer = " + answer + "<br>");
if (answer == sum)
document.write("Right!<br>");
else
document.write("Wrong!<br>");
}
function sGenerateQuizItem()
{
a0 = 20;
a1 = 40;
sum = a0 + a1;
document.write("<form action=\"javascript:sFeedback();\" method=\"get\" name=\"quiz_form\">\n");
document.write(a0 + " + " + a1 + " = ");
document.write("<input name=\"answer\" id=\"answer\" type=\"text\" size=\"4\" maxlength=\"4\" /><br><br>\n");
document.write("<button type=\"submit\" id=\"submit\">Submit</button>");
document.write("</form>");
}