Javascripttel irt kviz bizonyos resze miert nem mukodik?
Egy tutorialt csinaltam vegig lepesrol lepesre. A felugro ablakban mutatna, hogy a kerdeskbol mennyit talalt el az illeto. A loop resze mukodik viszont a kerdesekre egyenkent megirt sorok altal mindig az jon ki, hogy tokeletes minden meg akkor is ha direkt rosszat jeloltem be.
html:
<section>
<div id="results">
</div>
<form class="" name="quizForm" onsubmit="return submitAnswers()">
<h3>1+1</h3>
<input type="radio" name="q1" value="a" id="q1a">a 1<br>
<input type="radio" name="q1" value="b" id="q1b">b 2 <br>
<input type="radio" name="q1" value="c" id="q1c">c 3 <br>
<input type="radio" name="q1" value="d" id="q1d">d 4 <br>
<h3>1-1</h3>
<input type="radio" name="q2" value="a" id="q2a">a 3<br>
<input type="radio" name="q2" value="b" id="q2b">b 2<br>
<input type="radio" name="q2" value="c" id="q2c">c 1<br>
<input type="radio" name="q2" value="d" id="q2d">d 0<br>
<br><br>
<input type="submit" name="" value="Submit Answers">
</form>
</section>
js
function submitAnswers(){
var total = 2;
var score = 0;
// Get User Input
var q1 = document.forms["quizForm"]["q1"].value;
var q2 = document.forms["quizForm"]["q2"].value;
//Set correct Answers
var answers = ["b","d"];
//Check Answers
if(q1 == answers[0]);{
score++;
}
if(q2 == answers[1]);{
score++;
}
}
A mukodo loop meg ez:
for(i = 1; i <= total;i++){
if(eval('q'+i) == answers[i - 1]){
score++;
}
A "Check Answers" rész és a "loop" ugyanazt hivatott elvégezni, tehát ellenőrzik elküldés után a válaszokat. Egyszerre mindkettőt nincs értelme használni. Bár a ciklusban van némi hiba, elvileg működnie kell.
Azt viszont nem látom, hogy a score-t és a total-t hol hasonlítod össze, mert ezek még csak a helyes válaszokat számolják meg.
Ha mindkét ellenőrzés fut, az azt jelenti, hogy már 1 helyes válasznál is két jó választ kapsz, lehet ez okozza a hibát.
Talán jobban át kéne nézned azt a tutorialt.
@drone007,
A tutorialt atfutottam tobbszor es nem jottem ra.
A kettot termeszetesen kulon futtatom es ugy nem mukodik a "check answers" resz. A tutorialban is eloszor az elso reszet mutatja meg es ott mukodik majd kicsereli a loopra, mivel hasznosabb es gyorsabb.
Nala mindektto fut rendesen, kulon-kulon, nalam csak a loop fut rendesen sajna.
Es nem tudom miert :(
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!