Contar respuestas positivas de un test

Estoy con algunas dudas
Estoy comenzando a construir mi página para promocionar mis calses de español para poder ganarme unos pesos.
Quiero hacer un test donde el potencial alumno... Pueda encontrar la respuesta a cada pregunta dentro de 3 o 4 alternativas...
Me gustaría que al finalizar el test y presionar un botón llamado "resultados" se informara en un cuadro de texto (en la misma página) la cantidad de respuestas positivas y por consecuencia el nivel de español del evaluado (básico - pre intermedio- intermedio etc..).
No tengo conocimiento anterior... Envío el ejemplo de una pregunta y el botón que hice en base a otra página...
<form name="examen" onSubmit="">
<table width="100%" cellpadding="4" cellspacing="0" bordercolor="#000000" class="cajaamarilla">
<tr>
<td height="90">
<p style="word-spacing: 0; margin-top: 0; margin-bottom: 0">1. Me golpeé ... Diente contra ... Mesa.
<br>
<br>
<input type="radio" name="respuesta1" value="mal">
los ... La </p>
<p style="word-spacing: 0; margin-top: 0; margin-bottom: 0">  
<input type="radio" name="respuesta1" value="bien">
el .... La </p>
<p style="word-spacing: 0; margin-top: 0; margin-bottom: 0">    
<input type="radio" name="respuesta1" value="mal">
el .... El<br>
<input type="radio" name="respuesta1" value="mal">
el ... Las<br>
</p>
</td>
</tr>
</table>
</form>
<input type="submit" value="Resultados" onClick="averiguarNota()" name="submit" >
</td>
</tr>
</table>
<!-- #EndEditable -->
</body>
</html>

1 respuesta

Respuesta
1
function averiguarNota(){
var correctas = 0;
var respuesta;
for (ix=1; document.examen.elements['respuesta' + ix]; ix++){
respuesta = document.examen.elements['respuesta' + ix]; 
for (k=0; respuesta[k]; k++){
if (respuesta[k].checked && respuesta[k].value=="bien"){
correctas++;
break;
}
}
}
alert('El número de respuestas correctas es ' + correctas);
}
Carlos...
Gracias por tu respuesta...
Tengo este con mensaje que funciona correctamente...
Ahora mi duda es si puedo además darle una puntuación dependiendo de la cantidad de respuestas correctas.
Por ejemplo de:
0 a 2 correctas " tu nivel es Principiante"
3 a 4 correctas " tu nivel es pre-intermedio"
5 a 6 correctas " tu nivel es intermedio"
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>Examen de español</title>
<script>
function cont() {
    var c=0;
    if (document.forms['evaluacion']['radio1'][0].checked)
        {
        c++;
        }
    if (document.forms['evaluacion']['radio2'][2].checked)
        {
        c++;
        }
        alert('Has obtenido ' + c + ' respuestas correctas');
}
</script>
</head>
<body>
<form method="">
<label>1. ¿Hola, yo .... juan?</label>
<p>
<input />Soy
<input />es
<input />está
<input />son
</p>
<hr />
<label>2. Hola, yo .. Juan.</label>
<p>
<input />es
<input />la
<input />su
<input />sus
</p>
<hr />
<input value="Result" />
</form>
</body>
</html>
Saludos y gracias
Alvaro
Sólo tienes que meter este código al final de la función averiguarNota():
var mensaje = "Tu nivel es ";
if (correctas < 3 ) mensaje += "PRINCIPIANTE";
else if (correctas < 5) mensaje += "PRE-INTERMEDIO"; 
else if (correctas < 7) mensaje += "INTERMEDIO";
else if (correctas < 9) mensaje += "BUENO";
else mensaje += "EXCELENTE";
alert (mensaje);

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas