Hola Tunait, espero que estés bien.
Hace tiempo que no se nada de ti, (espero que el trabajo te deje respirar, bueno,

)
Llevo varias tardes con el proyecto de los test, y estoy haciendo algunos arreglillos, pero sigo todavía sin averiguar porque que el código me falla con el NESTCAFÉ.
Probé lo que me dijo nuestro amigo Caricatos con la opción que trae el NESCAFÉ, y efectivamente, el maldito NESCAFÉ (siempre me sentó mal el café

) me dice que la variable aciertos no está definida.
¡¡¡pero en mi modesta opinión, si está definida, un poco más arriba en el código!!!
por favor, cuando puedas echale un vistazo al código y chekealo en el NESCAFÉ (con el IE va todo dabuten)
De todas maneras, te pongo el código aquí ahora para que retomemos un poco el hilo de por donde ibamos con este proyecto (¿y hasta donde llegaremos? ahhh, solo lo sabes tu, mi querida amiga).
Por cierto, ya si no me falla la memoria, llevamos con este proyecto ya cerca de un año, bueno, mi segundo nombre es "paciente", je je je je
Bueno, no me enrollo más, cuando tu puedas, un abrazote.
Te espero.
Código PHP:
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script language="javascript">
//Script para test por Tunait
//motor impulsor Epa2
var confirmacion = 1 //cambiar a 1 si se quiere confirmación y respuesta instantanea
//###Dejar sin responder una pregunta equivale a un fallo
var aciertos=0
var fallos=0
var contestadas = 0
var mensajeRes
function Pregunta(preg,resp1,resp2,resp3,resp,aci)
{
this.preg=preg
this.resp1=resp1
this.resp2=resp2
this.resp3=resp3
this.resp=resp
this.aci=aci
}
p0=new Pregunta('¿Que es Windows?','un sistema de calculo','una ventana','un sistema operativo',3)
p1=new Pregunta ('¿Con que botón se utiliza usualmente el ratón?','Derecho','izquierdo',null,2)
p2=new Pregunta('¿Cual es el sistema operativo más moderno de Microsoft?','Windows 95','Windows 98', 'Windows XP',3)
p3=new Pregunta ('¿Que acción sucede cuando pulsas Inicio/apagar el sistema?','Apaga el monitor','Suspende la sesión','Apaga el equipo',3)
p4=new Pregunta ('¿Cual es el navegador que utiliza Windows?','Mosaic','Internet Exploter','Mosaic',2)
preguntas=new Array(p0,p1,p2,p3,p4)
if (confirmacion == 1)
{
confir=' onChange="desactivar(this,this.name)" '
}
else {confir = null}
function escribe()
{
document.write ('<form name="test">')
document.write ('<table border="1" align="center" bgcolor="white">')
for (m=0;m < preguntas.length;m++)
{
document.write (' <tr> <td>')
document.write ('<b>' + (m+1) + ') </b>' + preguntas[m].preg)
document.write ('</td> </tr>')
document.write (' <tr> <td>')
document.write ('<select name="r' + m + '"' + confir + ' >')
document.write ('<option>Seleccione una opción</option>')
for (x=0;x<Pregunta.length-2;x++)
{
pregu=eval('preguntas[m].resp' + (x + 1))
if(pregu == null) {continue}
else{
document.write ('<option value=' + (x+1) + '>' + pregu + '</option>')
}
}
document.write (' <tr> <td>')
}
document.write (' <tr> <td align="center">')
document.write ('<input type="button" value="Comprobar" onClick="comprobar()" style="font-family: Tahoma, Verdana, Arial; font-size: 9pt">')
document.write ('</td> </tr>')
document.write ('</table></form>')
}
respuestas=new Array()
function comprobar()
{
for (p=0;p<preguntas.length;p++)
{
selec=eval('document.test.r' + p + '.selectedIndex')
if (selec==0) {continue}
else{
valor=eval('document.test.r' + p + '.options[document.test.r' + p + '.selectedIndex]')
respuestas[p] = valor.value
contestadas ++
}
}
resultado()
}
function resultado()
{
for(h=0; h<preguntas.length; h++)
{
prevalor="'" + preguntas[h].resp + "'"
resvalor="'" + respuestas[h] + "'"
if ( prevalor == resvalor)
{
aciertos++
preguntas[h].aci=true
}
else
{
fallos++
preguntas[h].aci=false
}
}
porcentaje()
escribeRes()
}
function escribeRes()
{
document.write ('<head><style type="text/css">')
document.write ('td { font-family: Tahoma, Verdana, Arial; font-size: 9pt}')
document.write ('</style></head>')
document.write ('<body bgcolor="#99CC99" text="#000000" >')
document.write ('<table align="center" border="1" bgcolor="white">')
document.write ('<tr><td align="center">')
document.write ('Has acertado ' + aciertos + ' preguntas de un total de ' + preguntas.length)
document.write ('<br>Respuestas contestadas: ' + contestadas)
document.write ('<br>Con un porcentaje de aciertos del ' + porcent + "%")
document.write ('</td></tr>')
document.write ('<tr><td align="center">')
mensResult();
document.write (mensajeRes)
document.write ('</td></tr>')
document.write ('</table><br>')
document.write ('<table align="center" border="1" bgcolor="white">')
document.write ('<tr><td align="center">')
document.write ('<b>Preguntas Acertadas</b>')
document.write ('</td></tr>')
for (ac=0;ac<preguntas.length;ac++)
{
respC=eval('preguntas[ac].resp' + preguntas[ac].resp)
if(aciertos==0)
{
document.write ('<tr><td align="center">')
document.write ('<font color="red"><b>No acertaste ni una</b></font>')
document.write ('</td></tr>')
break
}
if(preguntas[ac].aci==true)
{
document.write ('<tr><td>')
document.write ('<b><font color="red">P. </font></b> ' + preguntas[ac].preg + ' <br><b><font color="red">R. </font></b>' + respC )
document.write ('</td></tr>')
}
}
document.write ('<tr><td align="center">')
document.write ('<b>Preguntas Falladas</b>')
document.write ('</td></tr>')
if(fallos==0)
{
document.write ('<tr><td align="center">')
document.write ('<font color="red"><b>Ninguna. Todas acertadas</b></font>')
document.write ('</td></tr>')
}
else{
for (ac=0;ac<preguntas.length;ac++)
{
respC=eval('preguntas[ac].resp' + preguntas[ac].resp)
if(preguntas[ac].aci==false)
{
document.write ('<tr><td>')
document.write ('<b><font color="red">P. </font></b> ' + preguntas[ac].preg + '<br><b><font color="red">R. </font></b>' + respC)
document.write ('</td></tr>')
}
}
}
document.write ('</table><br>')
document.write ('<div align="center"><b>')
document.write ('<a href="javascript:history.back()">regresar</a></b></div>')
}
function porcentaje()
{
porcent=100/preguntas.length*aciertos
return porcent
}
function mensResult()
{
if (porcent == 0)
{
mensajeRes="Lo tuyo es grave. ¿Has pensado en dedicarte a la Botánica?"
}
if ((porcent>0) && (porcent<40))
{
mensajeRes="Nadie es perfecto, habrás de ponerte un poco más"
}
if ((porcent>=40) && (porcent <70))
{
mensajeRes="Bastante bien, aunque siempre se puede mejorar"
}
if ((porcent>=80) && (porcent<100))
{
mensajeRes="De coña!"
}
if (porcent ==100)
{
mensajeRes="Excelente! de aquí a la NASA estás a un paso"
}
return mensajeRes
}
function desactivar(cual,nombre)
{
if(cual.value=='true')
{
respuesta='Verdadero'
}
else {respuesta='Falso'}
num=cual.name.substr(cual.name.length-1)
pepe=eval('preguntas[num].resp' + cual.value)
if (confirm(pepe + '\n ¿Seguro?'))
{
if(preguntas[num].resp.toString() == cual.value)
{
alert("Correcto")
}
else {
alert("Incorrecto")
}
cual.disabled=true
}
}
escribe()
</script>
<style type="text/css">
<!--
td { font-family: Tahoma, Verdana, Arial; font-size: 9pt}
-->
</style>
</head>
<body bgcolor="#99CC99" text="#000000" >
<p> </p>
</body>
</html>