Ver Mensaje Individual
  #1 (permalink)  
Antiguo 20/12/2010, 06:15
meija
 
Fecha de Ingreso: noviembre-2009
Mensajes: 21
Antigüedad: 14 años, 5 meses
Puntos: 0
Encuesta/Test

Buenos días,

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&nbsp;' + score + '&nbsp;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&nbsp;' + score + '&nbsp;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&oacute;n:&nbsp;' + score + '</span>';	if (score> 9) {document.getElementById('notafinal').innerHTML = '<span class="notas">Calificaci&oacute;n:&nbsp;Matr&iacute;cula de Honor</span>';}
   else if (score > 8) {document.getElementById('notafinal').innerHTML = '<span class="notas">Calificaci&oacute;n:&nbsp;Sobresaliente</span>';}
   else if (score > 7) {document.getElementById('notafinal').innerHTML = '<span class="notas">Calificaci&oacute;n:&nbsp;Notable alto</span>';}
   else if (score > 6) {document.getElementById('notafinal').innerHTML = '<span class="notas">Calificaci&oacute;n:&nbsp;Notable bajo</span>';}
   else if (score > 5) {document.getElementById('notafinal').innerHTML = '<span class="notas">Calificaci&oacute;n:&nbsp;Bien</span>';}
   else if (score > 4) {document.getElementById('notafinal').innerHTML = '<span class="notas">Calificaci&oacute;n:&nbsp;Suficiente</span>';}
   else {document.getElementById('notafinal').innerHTML = '<span class="notas">Calificaci&oacute;n:&nbsp;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">&nbsp;</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">&nbsp;</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">&nbsp;</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">&nbsp;</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">&nbsp;</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">&nbsp;</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">&nbsp;</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">&nbsp;</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">&nbsp;</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">&nbsp;</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&oacute;n final" onclick="notaFinal()" />
<div id="puntuacionfinal">&nbsp;</div><div id="notafinal">&nbsp;</div>
<br />
<input type="button" value="Imprimir" onclick="window.print()" accesskey="p" title="Pulsa este bot&oacute;n para imprimir la p&aacute;gina. <p>" />
<br />
<input type="button" value="Int&eacute;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