Llevo ya varios días intentando hacer un test para un proyecto.
La idea es hacer un test con 10 preguntas, el cual al terminar solo muestre cuantos aciertos se a tenido. Ademas de un botón para volverlo hacer, esta segunda vez se hace el test y muestra que contestaciones a tenido y se detalla como tendría que estar bien. Una vez hecho que el usuario no pueda hacer el test otra vez.
Si carga el documento vuelva a cargar el detalle con los resultados, no puedo usar php ya que la asignatura es de javascript, pero puedo meter jquery tambien.
Esto es lo que he hecho hasta ahora:
Código HTML :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Esto es una prueba</title>
<script type="text/javascript">
var ans = new Array;
var done = new Array;
var score = 0;
ans[1] = 'a';
ans[2] = 'a';
ans[3] = 'c';
ans[4] = 'a';
ans[5] = 'a';
ans[6] = 'a';
ans[7] = 'a';
ans[8] = 'a';
ans[9] = 'b';
ans[10] = 'a';
function Engine(question, answer) {
if (answer != ans[question]) {if (!done[question]) {
done[question] = -1;
var mal='<span class="mal' + '">Incorrecto ' + score + ' puntos acumulados</span>'
document.getElementById('resp' + (question)).innerHTML = mal;
}
else {
alert("Ya has contestado a esta pregunta!");
}
}
else {
if (!done[question]) {
done[question] = -1;
score++;
var bien='<span class="bien' + '">Correcto ' + score + ' puntos acumulados</span>'
document.getElementById('resp' + (question)).innerHTML = bien;
}
else {
alert("Ya has contestado a esta pregunta!");
}
}
}
function notaFinal() {
document.getElementById('puntuacionfinal').innerHTML = '<span class="notas">Puntuación: ' + score + '</span>'; if (score> 9) {document.getElementById('notafinal').innerHTML = '<span class="notas">Calificación: Matrícula de Honor</span>';}
else if (score > 8) {document.getElementById('notafinal').innerHTML = '<span class="notas">Calificación: Sobresaliente</span>';}
else if (score > 7) {document.getElementById('notafinal').innerHTML = '<span class="notas">Calificación: Notable alto</span>';}
else if (score > 6) {document.getElementById('notafinal').innerHTML = '<span class="notas">Calificación: Notable bajo</span>';}
else if (score > 5) {document.getElementById('notafinal').innerHTML = '<span class="notas">Calificación: Bien</span>';}
else if (score > 4) {document.getElementById('notafinal').innerHTML = '<span class="notas">Calificación: Suficiente</span>';}
else {document.getElementById('notafinal').innerHTML = '<span class="notas">Calificación: Insuficiente</span>';}
}
// End -->
</script>
<body>
<div id="contenedor">
<form name="test" action="">
<h1>Esto es una prueba</h1>
<p>Contesta a las siguientes preguntas marcando la respuesta correcta:</p>
<div class="numero">1</div>
<div class="pregunta">
<p>Te gusta sacar fotos?</p>
<div id="resp1"> </div>
<ol>
<li><input type=radio value="a" onclick="Engine(1, this.value)" />Si</li>
<li><input type=radio value="b" onclick="Engine(1, this.value)" />No</li>
<li><input type=radio value="c" onclick="Engine(1, this.value)" />Alguna vez</li>
<li><input type=radio value="d" onclick="Engine(1, this.value)" /></li>
</ol>
</div>
<div class="numero">2</div>
<div class="pregunta">
<p>Te gusta tu ciudad?</p>
<div id="resp2"> </div>
<ol>
<li><input type=radio value="a" onclick="Engine(2, this.value)" />Si</li>
<li><input type=radio value="b" onclick="Engine(2, this.value)" />No</li>
<li><input type=radio value="c" onclick="Engine(2, this.value)" /></li>
<li><input type=radio value="d" onclick="Engine(2, this.value)" /></li>
</ol>
</div>
<div class="numero">3</div>
<div class="pregunta">
<p>Esta en la costa?</p>
<div id="resp3"> </div>
<ol>
<li><input type=radio value="a" onclick="Engine(3, this.value)" />Si</li>
<li><input type=radio value="b" onclick="Engine(3, this.value)" />No </li>
<li><input type=radio value="c" onclick="Engine(3, this.value)" />Depende</li>
<li><input type=radio value="d" onclick="Engine(3, this.value)" /></li>
</ol>
</div>
<div class="numero">4</div>
<div class="pregunta">
<p>Numero de coches?</p>
<div id="resp4"> </div>
<ol>
<li><input type=radio value="a" onclick="Engine(4, this.value)" />1</li>
<li><input type=radio value="b" onclick="Engine(4, this.value)" />3</li>
<li><input type=radio value="c" onclick="Engine(4, this.value)" />10</li>
<li><input type=radio value="d" onclick="Engine(4, this.value)" />15</li>
</ol>
</div>
<div class="numero">5</div>
<div class="pregunta">
<p>Tienes internet en casa?</p>
<div id="resp5"> </div>
<ol>
<li><input type=radio value="a" onclick="Engine(5, this.value)" />Si</li>
<li><input type=radio value="b" onclick="Engine(5, this.value)" />No </li>
<li><input type=radio value="c" onclick="Engine(5, this.value)" />Tuve</li>
<li><input type=radio value="d" onclick="Engine(5, this.value)" /></li>
</ol>
</div>
<div class="numero">6</div>
<div class="pregunta">
<div id="vulcano"></div>
<p>Tienes una moto?</p>
<div id="resp6"> </div>
<ol>
<li><input type=radio value="a" onclick="Engine(6, this.value)" />Si</li>
<li><input type=radio value="b" onclick="Engine(6, this.value)" />No</li>
<li><input type=radio value="c" onclick="Engine(6, this.value)" />Tuve</li>
<li><input type=radio value="d" onclick="Engine(6, this.value)" /></li>
</ol>
</div>
<div class="numero">7</div>
<div class="pregunta">
<p>Te gusta internet?</p>
<div id="resp7"> </div>
<ol>
<li><input type=radio value="a" onclick="Engine(7, this.value)" />No</li>
<li><input type=radio value="b" onclick="Engine(7, this.value)" />Si</li>
<li><input type=radio value="c" onclick="Engine(7, this.value)" />A veces</li>
<li><input type=radio value="d" onclick="Engine(7, this.value)" /></li>
</ol>
</div>
<div class="numero">8</div>
<div class="pregunta">
<p>Vistes camisetas?</p>
<div id="resp8"> </div>
<ol>
<li><input type=radio value="a" onclick="Engine(8, this.value)" />Si</li>
<li><input type=radio value="b" onclick="Engine(8, this.value)" />No</li>
<li><input type=radio value="c" onclick="Engine(8, this.value)" />A veces</li>
<li><input type=radio value="d" onclick="Engine(8, this.value)" /></li>
</ol>
</div>
<div class="numero">9</div>
<div class="pregunta">
<p>Te gusta este test?</p>
<div id="resp9"> </div>
<ol>
<li><input type=radio value="a" onclick="Engine(9, this.value)" />Si</li>
<li><input type=radio value="b" onclick="Engine(9, this.value)" />No</li>
<li><input type=radio value="c" onclick="Engine(9, this.value)" />A veces</li>
<li><input type=radio value="d" onclick="Engine(9, this.value)" /></li>
</ol>
</div>
<div class="numero">10</div>
<div class="pregunta">
<p>Esta genial el test?</p>
<div id="resp10"> </div>
<ol>
<li><input type=radio value="a" onclick="Engine(10, this.value)" />Si</li>
<li><input type=radio value="b" onclick="Engine(10, this.value)" />No </li>
<li><input type=radio value="c" onclick="Engine(10, this.value)" />A veces</li>
<li><input type=radio value="d" onclick="Engine(10, this.value)" /></li>
</ol>
</div>
<div id="borrarimprimir">
<input type="button" value="Calificación final" onclick="notaFinal()" />
<div id="puntuacionfinal"> </div><div id="notafinal"> </div>
<br />
<input type="button" value="Imprimir" onclick="window.print()" accesskey="p" title="Pulsa este botón para imprimir la página. <p>" />
<br />
<input type="button" value="Inténtalo de nuevo" onclick="location.reload()" />
<input type="reset" value="Borrar todo" onclick="location.reload()" />
</div>
</form>
</div>
</body>
</html>Alguien me puede ayudar.
Muchísimas gracias
