Como hacer un bucle con javascript
Hola,
Estoy intentando hacer un bucle de respuestar para un test.
En estos momentos tengo un test pero con respuestas independientes, pero necesito que si añado mas preguntas se siga corrigiendo,
¿Me podeis ayudar?
Este es el codigo:
<
script language="JavaScript">
function
corregir(){
var pn1 = 0;
var pn2 = 0;
var pn3 = 0;
var aciertos = 0;
var fallos = 0;
var blancos = 0;
var nota;
/* Primera pregunta */
var
val1 = 0;
for (i=0; i<document.Preguntas.p1.length; i++) {
if (document.Preguntas.p1.checked == true) {
val1 = document.Preguntas.p1.value;
if (val1 == "Manet") {
pn1 = 1;
aciertos++;
}
else if (val1 == "Monet") {
pn1 = -0.5;
fallos++;
}
else if (val1 == "Picasso") {
pn1 = -0.5;
fallos++;
}
else if (val1 == "Velazquez") {
pn1 = -0.5;
fallos++;
}
}
}
if (pn1 == 0) {
pn1 = -0.1;
blancos++;
}
/* Segunda pregunta */
var
val2 = 0;
for (i=0; i<document.Preguntas.p2.length; i++) {
if (document.Preguntas.p2.checked == true) {
val2 = document.Preguntas.p2.value;
if (val2 == "Gotico") {
pn2 = 1;
aciertos++;
}
else if (val2 == "Moderno") {
pn2 = -0.5;
fallos++;
}
else if (val2 == "Renacentista") {
pn2 = -0.5;
fallos++;
}
else if (val2 == "Romano") {
pn2 = -0.5;
fallos++;
}
}
}
if (pn2 == 0) {
pn2 = -0.1;
blancos++;
}
/* Tercera pregunta */
var
val3 = 0;
for (i=0; i<document.Preguntas.p3.length; i++) {
if (document.Preguntas.p3.checked == true) {
val3 = document.Preguntas.p3.value;
if (val3 == "Santa Barbara") {
pn3 = 1;
aciertos++;
}
else if (val3 == "Santa Agueda") {
pn3 = -0.5;
fallos++;
}
else if (val3 == "Santa Pilar") {
pn3 = -0.5;
fallos++;
}
else if (val3 == "Santa Monica") {
pn3 = -0.5;
fallos++;
}
}
}
if (pn3 == 0) {
pn3 = -0.1;
blancos++;
}
nota = pn1+pn2+pn3;
if (nota<0) {
puntuacion = 0;
}
else {
puntuacion = nota;
}
document.getElementById(
'aciertos' ).value = aciertos;
document.getElementById(
'fallos' ).value = fallos;
document.getElementById(
'blancos' ).value = blancos;
document.getElementById(
'puntuacion' ).value = puntuacion;
}
</script>
<
body>
<
FORM name="Preguntas">
<
p>
<!-- Primera pregunta -->
1. ¿Quien pinto "La Olimpia"?
</p>
<
p>
<
input type="radio" id="p1" name="p1" value="Manet" /> Manet </p> <p>
<input type="radio" id="p1" name="p1" value="Monet" /> Monet </p> <p>
<input type="radio" id="p1" name="p1" value="Picasso" /> Picasso </p> <p>
<input type="radio" id="p1" name="p1" value="Velazquez" /> Velazquez </p>
<
p></p>
<!-- Segunda pregunta -->
2. ¿De que estilo es la catedral de Milan?.
</p>
<
p>
<input type="radio" id="p2" name="p2" value="Moderno" /> Moderno. </p> <p>
<input type="radio" id="p2" name="p2" value="Gotico" /> Gotico. </p> <p>
<input type="radio" id="p2" name="p2" value="Renacentista" /> Renacentista. </p> <p>
<input type="radio" id="p2" name="p2" value="Romano" /> Romano</p>
<p></p>
<!-- Tercera pregunta -->
3. ¿Como se llama el castillo de Alicante?.
</p>
<
p>
<
input type="radio" id="p3" name="p3" value="Santa Agueda" /> Santa Agueda. </p> <p>
<input type="radio" id="p3" name="p3" value="Santa Pilar" /> Santa Pilar. </p> <p>
<input type="radio" id="p3" name="p3" value="Santa Barbara" /> Santa Barbara. </p> <p>
<input type="radio" id="p3" name="p3" value="Santa Monica" /> Santa Monica. </p>
<
p></p>
<
input type="button" name="boton" value="CORREGIR" onClick="corregir()"/>
</
FORM>
<
br><br>
<
b>RESULTADO DEL TEST</b> <P>
<form name="resultado" action="">
Has acertado
<input type="text" size="3" id="aciertos" value=""/> preguntas <br>
Has fallado en
<input type="text" size="3" id="fallos" value=""/> preguntas <br>
Has dejado de responder
<input type="text" size="3" id="blancos" value=""/> preguntas <P>
PUNTUACIÃ"N:
<input type="text" size="5" id="puntuacion" value=""/> puntos
</
form>
</body>
Gracias
Estoy intentando hacer un bucle de respuestar para un test.
En estos momentos tengo un test pero con respuestas independientes, pero necesito que si añado mas preguntas se siga corrigiendo,
¿Me podeis ayudar?
Este es el codigo:
<
script language="JavaScript">
function
corregir(){
var pn1 = 0;
var pn2 = 0;
var pn3 = 0;
var aciertos = 0;
var fallos = 0;
var blancos = 0;
var nota;
/* Primera pregunta */
var
val1 = 0;
for (i=0; i<document.Preguntas.p1.length; i++) {
if (document.Preguntas.p1.checked == true) {
val1 = document.Preguntas.p1.value;
if (val1 == "Manet") {
pn1 = 1;
aciertos++;
}
else if (val1 == "Monet") {
pn1 = -0.5;
fallos++;
}
else if (val1 == "Picasso") {
pn1 = -0.5;
fallos++;
}
else if (val1 == "Velazquez") {
pn1 = -0.5;
fallos++;
}
}
}
if (pn1 == 0) {
pn1 = -0.1;
blancos++;
}
/* Segunda pregunta */
var
val2 = 0;
for (i=0; i<document.Preguntas.p2.length; i++) {
if (document.Preguntas.p2.checked == true) {
val2 = document.Preguntas.p2.value;
if (val2 == "Gotico") {
pn2 = 1;
aciertos++;
}
else if (val2 == "Moderno") {
pn2 = -0.5;
fallos++;
}
else if (val2 == "Renacentista") {
pn2 = -0.5;
fallos++;
}
else if (val2 == "Romano") {
pn2 = -0.5;
fallos++;
}
}
}
if (pn2 == 0) {
pn2 = -0.1;
blancos++;
}
/* Tercera pregunta */
var
val3 = 0;
for (i=0; i<document.Preguntas.p3.length; i++) {
if (document.Preguntas.p3.checked == true) {
val3 = document.Preguntas.p3.value;
if (val3 == "Santa Barbara") {
pn3 = 1;
aciertos++;
}
else if (val3 == "Santa Agueda") {
pn3 = -0.5;
fallos++;
}
else if (val3 == "Santa Pilar") {
pn3 = -0.5;
fallos++;
}
else if (val3 == "Santa Monica") {
pn3 = -0.5;
fallos++;
}
}
}
if (pn3 == 0) {
pn3 = -0.1;
blancos++;
}
nota = pn1+pn2+pn3;
if (nota<0) {
puntuacion = 0;
}
else {
puntuacion = nota;
}
document.getElementById(
'aciertos' ).value = aciertos;
document.getElementById(
'fallos' ).value = fallos;
document.getElementById(
'blancos' ).value = blancos;
document.getElementById(
'puntuacion' ).value = puntuacion;
}
</script>
<
body>
<
FORM name="Preguntas">
<
p>
<!-- Primera pregunta -->
1. ¿Quien pinto "La Olimpia"?
</p>
<
p>
<
input type="radio" id="p1" name="p1" value="Manet" /> Manet </p> <p>
<input type="radio" id="p1" name="p1" value="Monet" /> Monet </p> <p>
<input type="radio" id="p1" name="p1" value="Picasso" /> Picasso </p> <p>
<input type="radio" id="p1" name="p1" value="Velazquez" /> Velazquez </p>
<
p></p>
<!-- Segunda pregunta -->
2. ¿De que estilo es la catedral de Milan?.
</p>
<
p>
<input type="radio" id="p2" name="p2" value="Moderno" /> Moderno. </p> <p>
<input type="radio" id="p2" name="p2" value="Gotico" /> Gotico. </p> <p>
<input type="radio" id="p2" name="p2" value="Renacentista" /> Renacentista. </p> <p>
<input type="radio" id="p2" name="p2" value="Romano" /> Romano</p>
<p></p>
<!-- Tercera pregunta -->
3. ¿Como se llama el castillo de Alicante?.
</p>
<
p>
<
input type="radio" id="p3" name="p3" value="Santa Agueda" /> Santa Agueda. </p> <p>
<input type="radio" id="p3" name="p3" value="Santa Pilar" /> Santa Pilar. </p> <p>
<input type="radio" id="p3" name="p3" value="Santa Barbara" /> Santa Barbara. </p> <p>
<input type="radio" id="p3" name="p3" value="Santa Monica" /> Santa Monica. </p>
<
p></p>
<
input type="button" name="boton" value="CORREGIR" onClick="corregir()"/>
</
FORM>
<
br><br>
<
b>RESULTADO DEL TEST</b> <P>
<form name="resultado" action="">
Has acertado
<input type="text" size="3" id="aciertos" value=""/> preguntas <br>
Has fallado en
<input type="text" size="3" id="fallos" value=""/> preguntas <br>
Has dejado de responder
<input type="text" size="3" id="blancos" value=""/> preguntas <P>
PUNTUACIÃ"N:
<input type="text" size="5" id="puntuacion" value=""/> puntos
</
form>
</body>
Gracias