Buenas Noches, tengo un problema con un cuestionario que estoy realizando en javascript, el problema es que tengo 10 preguntas de selección única usando un input type=radio, con 4 respuestas a escoger, esas 10 si funcionan perfectamente y van sumando para al final desplegar una nota, pero al agregar una pregunta de respuesta corta usando un input type=text que sería la 11 esa no funciona, de hecho al dar el botón de= Responder, toma la respuesta como incorrecta y lo que quiero lograr es que siga sumando esa respuesta obviamente si es correcta con el resto pero no se donde estoy fallando, les agradecería la ayuda, muchas gracias.
Este es el código en html:
Este es el código en javascript:
Este es el código en html:
Código (html4strict) [Seleccionar]
<!doctype html>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="css/estilo.css">
<script src="js/Proyecto.js"></script>
</head>
<body>
<header class="div1">
<p class="p1">CUESTIONARIO</p></header>
<form>
<label class="label">Pregunta 1</label>
<input type=radio value="a" onClick="Engine(1, this.value)">Rehacer, reciclar, reponer
<input type=radio value="b" onClick="Engine(1, this.value)">Reutilizar, reciclar, reducir
<input type=radio value="c" onClick="Engine(1, this.value)">Reducir, recoger, renacer
<input type=radio value="d" onClick="Engine(1, this.value)">Rehacer, renovar, retornar<p>
<label class="label">Pregunta 2</label>
<input type=radio value="a" onClick="Engine(2, this.value)">10 años
<input type=radio value="b" onClick="Engine(2, this.value)">20 años
<input type=radio value="c" onClick="Engine(2, this.value)">700 años
<input type=radio value="d" onClick="Engine(2, this.value)">200 años<p>
<label class="label">Pregunta 3</label>
<input type=radio value="a" onClick="Engine(3, this.value)">500 años
<input type=radio value="b" onClick="Engine(3, this.value)">1000 años
<input type=radio value="c" onClick="Engine(3, this.value)">5 años
<input type=radio value="d" onClick="Engine(3, this.value)">300 años<p>
<label class="label">Pregunta 4</label>
<input type=radio value="a" onClick="Engine(4, this.value)">450 años
<input type=radio value="b" onClick="Engine(4, this.value)">10 años
<input type=radio value="c" onClick="Engine(4, this.value)">500 años
<input type=radio value="d" onClick="Engine(4, this.value)">80 años<p>
<label class="label">Pregunta 5</label>
<input type=radio value="a" onClick="Engine(5, this.value)">4 años
<input type=radio value="b" onClick="Engine(5, this.value)">100 años
<input type=radio value="c" onClick="Engine(5, this.value)">Nunca
<input type=radio value="d" onClick="Engine(5, this.value)">350 años<p>
<label class="label">Pregunta 6</label>
<input type=radio value="a" onClick="Engine(6, this.value)">5
<input type=radio value="b" onClick="Engine(6, this.value)">4
<input type=radio value="c" onClick="Engine(6, this.value)">2
<input type=radio value="d" onClick="Engine(6, this.value)">10<p>
<label class="label">Pregunta 7</label>
<input type=radio value="a" onClick="Engine(7, this.value)">Rojo
<input type=radio value="b" onClick="Engine(7, this.value)">Negro
<input type=radio value="c" onClick="Engine(7, this.value)">Azul
<input type=radio value="d" onClick="Engine(7, this.value)">Verde<p>
<label class="label">Pregunta 8</label>
<input type=radio value="a" onClick="Engine(8, this.value)">Amarillo
<input type=radio value="b" onClick="Engine(8, this.value)">Verde
<input type=radio value="c" onClick="Engine(8, this.value)">Azul
<input type=radio value="d" onClick="Engine(8, this.value)">Negro<p>
<label class="label">Pregunta 9</label>
<input type=radio value="a" onClick="Engine(9, this.value)">Plástico
<input type=radio value="b" onClick="Engine(9, this.value)">Vidrio
<input type=radio value="c" onClick="Engine(9, this.value)">Restos de verduras y frutas
<input type=radio value="d" onClick="Engine(9, this.value)">Restos de carne<p>
<label class="label">Pregunta 10</label>
<input type=radio value="a" onClick="Engine(10, this.value)">Rojo
<input type=radio value="b" onClick="Engine(10, this.value)">Verde
<input type=radio value="c" onClick="Engine(10, this.value)">Amarillo
<input type=radio value="d" onClick="Engine(10, this.value)">Rosado<p>
<label class="label">11. Escriba un ejemplo de papel que se puede reciclar: </label>
<input class="input2" type="text"><button type=button onClick="Engine(11, this.value)">Responder</button>
<center>
<input type=button onClick="java()" value="Terminar">
</center>
</form>
<footer>
</footer>
</body>
</html>
Este es el código en javascript:
Código (javascript) [Seleccionar]
var ans = new Array;
var done = new Array;
var score = 0;
ans[1] = "b";
ans[2] = "c";
ans[3] = "a";
ans[4] = "d";
ans[5] = "c";
ans[6] = "b";
ans[7] = "b";
ans[8] = "b";
ans[9] = "c";
ans[10] = "c";
ans[11] = "papel";
function Engine(question, answer) {
if (answer != ans[question]) {
if (!done[question]) {
done[question] = -1;
alert("Error!\n\nTu puntaje por el momento es: " + score);
}
else {
alert("Ya respondiste a esta pregunta!");
}
}
else {
if (!done[question]) {
done[question] = -1;
score++;
alert("Respuesta Correcta!\n\nTu puntaje por el momento es: " + score);
}
else {
alert("Ya respondiste a esta pregunta");
}
}
}
function java () {
if (score == 11) {
alert("nota: 100");
}
if (score == 9) {
alert("nota: 90");
}
if (score == 8) {
alert("nota: 80");
}
if (score == 7) {
alert("nota: 70");
}
if (score == 6) {
alert("nota: 60");
}
if (score == 5) {
alert("nota: 50");
}
if (score == 4) {
alert("nota: 40");
}
if (score == 3) {
alert("nota: 30");
}
if (score == 2) {
alert("nota: 20");
}
if (score == 1) {
alert("nota: 10");
}
if (score === 0) {
alert("nota: 0");
}
if (score >= 7 && score <= 12) {
alert("Acceso permitido")
}
else {
alert("No puedes seguir, necesitas al menos 7 buenas para continuar")
}
}