jeroendenoot
Terugkerende gebruiker
- Lid geworden
- 14 mrt 2005
- Berichten
- 1.492
Hallo allemaal, ik ben in JavaScript een soort vragensysteem aan het maken. Het is bijna af, maar de uitslag lukt niet. Ik ben even begonnen met maar 2 vragen, maar ik kan er makkelijk meer toevoegen. Dit is de uitleg met daaronder het script:
Uitleg: Eerst wordt er een willekeurige vraag gekozen. Dan wordt die op het scherm gezet, samen met een invulvak en een knop. Dan kun je een antwoord invullen in het vak en op de knop klikken. Dan wordt er gekeken of het antwoord fout is. Als dat zo is, wordt er een element toegevoegd aan de Array 'vragenfout'. Daarna wordt de vraag die net gesteld is verwijderd uit de Array 'vragenantwoorden'. Dan wordt er weer een willekeurige vraag gekozen uit de Array 'vragenantwoorden' (in dit geval is er nog maar 1 over) en op het scherm weergeven (inclusief invulvak en knop). Dan vul je weer een antwoord in en klik je op de knop. Dan wordt er gekeken of het antwoord fout is. Als dat zo is, wordt er een element toegevoegd aan de Array 'vragenfout'. Daarna wordt de vraag die net gesteld is verwijderd uit de Array 'vragenantwoorden'. Dan zijn er geen elementen meer in de Array 'vragenantwoorden' en wordt de uitslag weergeven.
Maar dat stukje werkt niet. I.p.v. dat de uitslag wordt weergeven komt er NaN (Not a Number) te staan. Dat wil dus zeggen dat 'aantalvragen' of 'vragenfout.push()' geen getal is. Ik heb al van alles geprobeerd maar het lukt nog steeds niet. Zou iemand mij kunnen helpen?
Script:
Uitleg: Eerst wordt er een willekeurige vraag gekozen. Dan wordt die op het scherm gezet, samen met een invulvak en een knop. Dan kun je een antwoord invullen in het vak en op de knop klikken. Dan wordt er gekeken of het antwoord fout is. Als dat zo is, wordt er een element toegevoegd aan de Array 'vragenfout'. Daarna wordt de vraag die net gesteld is verwijderd uit de Array 'vragenantwoorden'. Dan wordt er weer een willekeurige vraag gekozen uit de Array 'vragenantwoorden' (in dit geval is er nog maar 1 over) en op het scherm weergeven (inclusief invulvak en knop). Dan vul je weer een antwoord in en klik je op de knop. Dan wordt er gekeken of het antwoord fout is. Als dat zo is, wordt er een element toegevoegd aan de Array 'vragenfout'. Daarna wordt de vraag die net gesteld is verwijderd uit de Array 'vragenantwoorden'. Dan zijn er geen elementen meer in de Array 'vragenantwoorden' en wordt de uitslag weergeven.
Maar dat stukje werkt niet. I.p.v. dat de uitslag wordt weergeven komt er NaN (Not a Number) te staan. Dat wil dus zeggen dat 'aantalvragen' of 'vragenfout.push()' geen getal is. Ik heb al van alles geprobeerd maar het lukt nog steeds niet. Zou iemand mij kunnen helpen?
Script:
Code:
<script type="text/javascript">
<!--
var vragen = 'Vertaal in het Engels: jongen:::boy::::::Vertaal in het Engels: meisje:::girl';
var aantalvragen = 2;
var vragenantwoorden = vragen.split("::::::");
var vragenfout = new Array();
function controleer(invulantwoord,goedeantwoord,vraagnummer){
invulantwoord = invulantwoord.toLowerCase();
if(goedeantwoord != invulantwoord){
vraagnummer++;
vragenfout.push("fout");
}
vragenantwoorden.splice(vraagnummer,1);
schrijfvraag();
}
function schrijfvraag(){
aantalvragenover = vragenantwoorden.push();
if(aantalvragenover > 0){
var nr = Math.round(Math.random()*(aantalvragenover-1))+1;
nr--
vraagantwoord = vragenantwoorden[nr].split(":::");
var vraag = vraagantwoord[0];
var antwoord = vraagantwoord[1];
document.getElementById("vraag").innerHTML=vraag + '<br><input type="text" id="invullen"><br><input type="button" value="OK" onClick="controleer(document.getElementById(\'invullen\').value,\'' + antwoord + '\',\'' + nr + '\');">';
} else {
document.getElementById("vraag").innerHTML="Je bent klaar.<br><br>Aantal foute antwoorden: " + vragenfout.push() + "<br>Aantal goede antwoorden: " + aantalvragen-vragenfout.push();
}
}
schrijfvraag();
//-->
</script>
Laatst bewerkt: