私は非常に単純なhtmlファイルとjsファイルを持っています-それらを以下に含めました。
興味深い(そしてイライラする)のは、これらのファイルがSafariで機能することですが、Firefoxでは、[送信]ボタンを押すと次のエラーメッセージが生成されます。
エラー:sFeedbackが定義されていません
ソースファイル:javascript:sFeedback(); ライン1
Firefoxで定義されていないJavaScript関数のような他の投稿を読んでいますか?、Firefoxを呼び出す前に、関数を定義する必要があるようです。この場合、呼び出しの前に関数を定義する方法はありますか?私の設定では?
quiz.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>");
}