![](/img/trans.png)
[英]Added multiple external javascripts to html file, one stopped working
[英]HTML multiple forms with 2 javascripts
首先,我是javascript和html的新手,這是針對一個要求的大學項目執行的,因此,此網絡開發不是我的強項。 問題是:
我對同一個html文件有2個測驗,每個javascript文件有2個測驗。
<form name="quiz">
1. listen to pronunciation...<br>
<input type="radio" name="q1" value="a">Pedro<br>
<img src="images/ANIMALES/8.png" width="100" height="100" /> <br>
<input type="radio" name="q1" value="b">Juan<br>
<img src="images/ANIMALES/8.png" width="100" height="100" /> <br>
<input type="radio" name="q1" value="c">Luis<br>
<img src="images/ANIMALES/8.png" width="100" height="100" /> <br>
<p>
<input type="button" value="Get score" onClick="getScore(this.form)">
<input type="reset" value="Clear"><p>
Score = <input type=text size=15 name="percentage"><br>
Correct answers:<br>
<textarea name="solutions" wrap="virtual" rows="4" cols="40"></textarea>
</form>
在同一個html頁面中
<form name="quiz2">
1. listen to pronunciation...<br>
<input type="radio" name="q2" value="a">Pedro<br>
<img src="images/ANIMALES/8.png" width="100" height="100" /> <br>
<input type="radio" name="q2" value="b">Juan<br>
<img src="images/ANIMALES/8.png" width="100" height="100" /> <br>
<input type="radio" name="q2" value="c">Luis<br>
<img src="images/ANIMALES/8.png" width="100" height="100" /> <br>
<p>
<input type="button" value="Get score2" onClick="getScore2(this.form)">
<input type="reset" value="Clear"><p>
Score = <input type=text size=15 name="percentage"><br>
Correct answers:<br>
<textarea name="solutions" wrap="virtual" rows="4" cols="40"></textarea>
</form>
javascripts文件是javascript1.js和javascript2.js(可在測驗html生成器中找到)
var numQues = 1;
var numChoi = 3;
var answers = new Array(5);
answers[0] = "b";
function getScore(form) {
var score = 0;
var currElt;
var currSelection;
for (i=0; i<numQues; i++) {
currElt = i*numChoi;
for (j=0; j<numChoi; j++) {
currSelection = form.elements[currElt + j];
if (currSelection.checked) {
if (currSelection.value == answers[i]) {
score++;
break;
}
}
}
}
score = Math.round(score/numQues*100);
form.percentage.value = score + "%";
var correctAnswers = "";
for (i=1; i<=numQues; i++) {
correctAnswers += i + ". " + answers[i-1] + "\r\n";
}
form.solutions.value = correctAnswers;
}
第二個
var numQues = 1;
var numChoi = 3;
var answers = new Array(5);
answers[0] = "a";
function getScore2(form) {
var score = 0;
var currElt;
var currSelection;
for (i=0; i<numQues; i++) {
currElt = i*numChoi;
for (j=0; j<numChoi; j++) {
currSelection = form.elements[currElt + j];
if (currSelection.checked) {
if (currSelection.value == answers[i]) {
score++;
break;
}
}
}
}
score = Math.round(score/numQues*100);
form.percentage.value = score + "%";
var correctAnswers = "";
for (i=1; i<=numQues; i++) {
correctAnswers += i + ". " + answers[i-1] + "\r\n";
}
form.solutions.value = correctAnswers;
}
但是,兩種形式都總是采用相同的答案(“ a”),一個應該是正確的答案“ b”,另一個應該是“ a”,有什么線索我做錯了嗎?
您的變量名稱相同,作用域相同。 他們互相壓制。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.