He hecho este codigo:
Código Javascript:
Ver original
<html> <head> <title>Corrección de un test</title> <script type="text/javascript"> function corregir(){ var numeroPreguntas=3; var numeroRespuestas=4; var nombreid = new Array(); var correctas=["p12","p24","p33","p41"]; var cont=0, contAcierto=0, contFallo=0, contBlanco=0, contResultado=0, indice, seleccionada, fallos=0; var controlador=1;var indice2; for (pregun=1;pregun<=numeroPreguntas;pregun++) { for (respuesta=1;respuesta<=numeroRespuestas;respuesta++) { nombreid[cont]="p"+pregun+respuesta; // me creo las ids de los radios a comprobar //var indice=nombreid[cont]; cont++; } } for (i=0;i<nombreid.length;i++){ indice=nombreid[i]; seleccionada=document.getElementById(indice).checked; if(seleccionada){ for(j=0;j<correctas.length;j++){ if(seleccionada && indice==correctas[j]){ contAcierto++; } else if(seleccionada && indice!=correctas[j]{ contFallo++; } } } else{ contBlanco++; } } } alert("aciertos"+contAcierto+"fallos"+contFallo+"blancos"+contBlanco); } </script> </head>
El problema es que como hago la comprobacion de las preguntas dentro del for, me cuenta veces de mas los fallos y los blancos.
Este es el codigo HTML:
Código HTML:
Ver original
<body> <FORM name="Preguntas"> <p> <!-- Primera pregunta --> 1.- Este es el enunciado de la primera pregunta del test. </p> <p> <!-- Segunda pregunta --> 2.- Este es el enunciado de la segunda pregunta del test. </p> <p> <!-- Tercera pregunta --> 3.- Este es el enunciado de la tercera pregunta del test. </p> <p> </FORM> <FORM name="boton"> <input type="button" name="boton" value=" CORREGIR " onClick="corregir()"/> </FORM> <form name="resultado" action=""> PUNTUACIÓN: <input type="text" size="5" name="puntuacion" value=""/> puntos </form> </body> </html>
¿Alguna idea sobre como hacer la correccion impidiendo este problema?
Muchas gracias