Ver Mensaje Individual
  #89 (permalink)  
Antiguo 05/02/2003, 10:30
Avatar de epa2
epa2
 
Fecha de Ingreso: abril-2002
Ubicación: Málaga
Mensajes: 1.475
Antigüedad: 22 años
Puntos: 9
Bueno Tunait, ahora entre este foro y el tuyo me tienes con la lengua fuera, uuufff

Bueno, espero que estés bien.

Me he tirado toda la tarde retocando (y intentando comprender un poco más este mundo de javascript con este proyecto).


Por cierto, me alegré mucho cuando en el comentario del script pusistes lo del "motor impulsor Epa2". GRACIAS.

Mira, no quiero hacerme pesado, resulta que estoy personalizando los test, en el del verdadero y falso lo he conseguido (bueno, casi) pero estoy liado con el de las múltiples opciones.

Verás, resulta que cuando en las multiples opciones seleccionas una respuesta te sale el alert diciendote la respuesta que has escogido y preguntandote si estas seguro.

hasta aquí bien, yo pulso en aceptar y a continuación me sale otro alert diciendome que respuesta correcta o respuesta incorrecta.

PERO LO QUE TRATO DE CONSEGUIR ES SUPRIMIR EL PRIMER ALERT Y QUE SIMPLEMENTE TE SALGA EL ALERT DICIENDOTE CORRECTO O INCORRECTO.

Voy a poner todo el código (por nuestros amigos que nos estén viendo, hay que compartir) y al final te comento mis apreciaciones.

Código:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- saved from url=(0046)http://www.tunait.com/pruebas/proyectoepa2.htm -->
<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-SIZE: 9pt; FONT-FAMILY: Tahoma, Verdana, Arial
}
</STYLE>

<META content="MSHTML 6.00.2800.1106" name=GENERATOR></HEAD>
<BODY text=#000000 bgColor=#99cc99>
<P>&nbsp;</P></BODY></HTML>
Bueno, todavía me queda sitio para meter algunos caracteres más je je

Tunait, en mi modesta opinión he estado haciendo experimentos con estas líneas para conseguir lo que persigo pero no doy con ello
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>



Te espero con esperanza je je je

PD: Perdona por lo de AZUL, no era mi día y lo pague con ella.
__________________

***Aprendiz de todo y maestro de nada***