¿Cómo hago en Javascript para un cuestionario que aparezcan las soluciones de las preguntas?
Estoy desarrollando un cuestionario en HTML5 y JS basándome en una plantilla, pero en la parte en la que deben aparecer las respuestas correctas del test (no la nota, sino las respuestas en sí), no me aparece nada, incluso copiando el código tal cual. ¿Podrían decirme en qué está mal? Gracias.
El original:
<script type="text/javascript"> <!-- var numPreg = 10; //*** numero de preguntas *** var numElecciones = 3; //*** numero de alternativas de respuesta *** var respCorrectas = new Array(numPreg); //*** entre paréntesis el numero de preguntas *** respCorrectas[0] = "Texto de la respuesta correcta a la pregunta número 1"; respCorrectas[1] = "Texto de la respuesta correcta a la pregunta número 2"; respCorrectas[2] = "Texto de la respuesta correcta a la pregunta número 3"; respCorrectas[3] = "Texto de la respuesta correcta a la pregunta número 4"; respCorrectas[4] = "Texto de la respuesta correcta a la pregunta número 5"; respCorrectas[5] = "Texto de la respuesta correcta a la pregunta número 6"; respCorrectas[6] = "Texto de la respuesta correcta a la pregunta número 7"; respCorrectas[7] = "Texto de la respuesta correcta a la pregunta número 8"; respCorrectas[8] = "Texto de la respuesta correcta a la pregunta número 9"; respCorrectas[9] = "Texto de la respuesta correcta a la pregunta número 10"; //*** a partir de aquí no es necesario modificar el código *** function corregir(form) { var puntuación = 0; var eleccActual; var currSelection; for (i=0; i<numPreg; i++) { eleccActual = i*numElecciones; for (j=0; j<numElecciones; j++) { currSelection = form.elements[eleccActual + j]; if (currSelection.checked) { if (currSelection.value == respCorrectas) { puntuación++; break; } } } } puntuación = Math.round(puntuación/numPreg*100); form.porcentaje.value = puntuación + "%"; if (puntuación > 99) {document.examen.nota.value = "Matrícula de Honor";} else if (puntuación > 89) {document.examen.nota.value = "Sobresaliente";} else if (puntuación > 79) {document.examen.nota.value = "Notable alto";} else if (puntuación > 69) {document.examen.nota.value = "Notable bajo";} else if (puntuación > 59) {document.examen.nota.value = "Bien";} else if (puntuación > 49) {document.examen.nota.value = "Suficiente";} else {document.examen.nota.value = "Insuficiente";} var correctrespCorrectas = ""; for (i=1; i<=numPreg; i++) { correctrespCorrectas += i + ". " + respCorrectas[i-1] + "rn"; } form.soluciones.value = correctrespCorrectas; } // -->
</script>
El mio:
<script type="text/javascript"> var numPreg = 50; var numElecciones = 4; var respCorrectas = new Array(50); respCorrectas[0] = "Casablanca"; respCorrectas[1] = "Tener y no tener"; respCorrectas[2] = "Lars Von Trier"; respCorrectas[3] = "Eyes Wide Shut"; respCorrectas[4] = "Algunos hombres buenos"; respCorrectas[5] = "Joker"; respCorrectas[6] = "Infiltrados"; respCorrectas[7] = "James Cameron"; respCorrectas[8] = "Jim Carrey"; respCorrectas[9] = "The Green Hornet"; respCorrectas[10] = "McLovin"; respCorrectas[11] = "Un parque de atracciones"; respCorrectas[12] = "Mark Zuckerberg"; respCorrectas[13] = "Béisbol"; respCorrectas[14] = "Economía"; respCorrectas[15] = "Malas tierras"; respCorrectas[16] = "Pacífico"; respCorrectas[17] = "Viggo Mortensen"; respCorrectas[18] = "Acordes y desacuerdos"; respCorrectas[19] = "Alvy Singer"; respCorrectas[20] = "Michael Corleone"; respCorrectas[21] = "Demencia 13"; respCorrectas[22] = "Julio Cortázar"; respCorrectas[23] = "Tomás Moro"; respCorrectas[24] = "Sed de mal"; respCorrectas[25] = "Frank Sinatra"; respCorrectas[26] = "Siete días de mayo"; respCorrectas[27] = "Deborah Kerr"; respCorrectas[28] = "De repente, el último verano"; respCorrectas[29] = "John Huston"; respCorrectas[30] = "¿Quieén teme a Virginia Woolf?"; respCorrectas[31] = "Anton Ego"; respCorrectas[32] = "¿Arde París?"; respCorrectas[33] = "Sophia Loren y Eleanora Brown"; respCorrectas[34] = "Giorgio Bassani"; respCorrectas[35] = "La caída de los dioses"; respCorrectas[36] = "Modesty Blaise, superagente femenino"; respCorrectas[37] = "Senderos de gloria"; respCorrectas[38] = "Un joven soñador provinciano"; respCorrectas[39] = "Leonard Cohen"; respCorrectas[40] = "Los amantes de la noche"; respCorrectas[41] = "El desprecio"; respCorrectas[42] = "Los pianos mecánicos"; respCorrectas[43] = "18.000"; respCorrectas[44] = "Shorty Rogers and His Giants"; respCorrectas[45] = "Peter Sellers"; respCorrectas[46] = "Gran Hotel"; respCorrectas[47] = "Desmontando a Harry"; respCorrectas[48] = "Leonard y Arthur"; respCorrectas[49] = "15"; function corregir(form) { var puntuación = 0; var eleccActual; var currSelection; for (i=0; i<numPreg; i++) { eleccActual = i*numElecciones; for (j=0; j<numElecciones; j++) { currSelection = form.elements[eleccActual + j]; if (currSelection.checked) { if (currSelection.value == respCorrectas) { puntuación++; break; } } } } puntuación = Math.round(puntuación/numPreg*100); form.porcentaje.value = puntuación + "%"; if (puntuación > 99) {document.examen.nota.value = "Matrícula de Honor";} else if (puntuación > 89) {document.examen.nota.value = "Sobresaliente";} else if (puntuación > 79) {document.examen.nota.value = "Notable alto";} else if (puntuación > 69) {document.examen.nota.value = "Notable bajo";} else if (puntuación > 59) {document.examen.nota.value = "Bien";} else if (puntuación > 49) {document.examen.nota.value = "Suficiente";} else {document.examen.nota.value = "Insuficiente";} var correctrespCorrectas = ""; for (i=1; i<=numPreg; i++) { respCorrectas+=i+ ". "+ espCorrectas[i-1]+"rn"; } form.soluciones.value=correct.respCorrectas; }
</script>