Foros del Web » Programando para Internet » Javascript »

Test de Preguntas con select (enlace roto del codigo)

Estas en el tema de Test de Preguntas con select (enlace roto del codigo) en el foro de Javascript en Foros del Web. hola tunait!!! bueno te queria pedir si por favor me puedes facilitar el codigo del Test de Preguntas con select ya que he intentado varias ...
  #1 (permalink)  
Antiguo 21/11/2006, 20:53
 
Fecha de Ingreso: noviembre-2006
Mensajes: 2
Antigüedad: 17 años, 5 meses
Puntos: 0
Test de Preguntas con select (enlace roto del codigo)

hola tunait!!!

bueno te queria pedir si por favor me puedes facilitar el codigo del Test de Preguntas con select ya que he intentado varias veces ver su codigo y el enlace esta roto...me interesa verlo para asi orientarme en lo que debo realizar ....desde ya se te agradece un monton....
  #2 (permalink)  
Antiguo 22/11/2006, 03:39
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 22 años, 8 meses
Puntos: 381
Hola Chiristian,

te pego aquí el código del script

Código:
<script language="javascript">
//motor impulsor Epa2
/*****************************************************************************
Test de preguntas. Script creado por Tunait!
Si quieres usar este script en tu sitio eres libre de hacerlo con la condición de que permanezcan intactas estas líneas, osea, los créditos.
No autorizo a publicar y ofrecer el código en sitios de script sin previa autorización
Si quieres publicarlo, por favor, contacta conmigo.
http://javascript.tunait.com/
[email protected] 
******************************************************************************/
var confirmacion = 1 //cambiar a 1 si se quiere confirmación y respuesta instantanea

//### Cambiar los valores de los comentarios por los textos que se quieran #######
var comentario1 = "Lo tuyo es grave. ¿Has pensado en dedicarte a la Botánica?"
var comentario2 = "Nadie es perfecto, habrás de ponerte un poco más"
var comentario3 = "Bastante bien, aunque siempre se puede mejorar"
var comentario4 = "De coña!"
var comentario5 = "Excelente! de aquí a la NASA estás a un paso"

//###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
}

preguntas=new Array()
preguntas[0] = new Pregunta('¿Que es Windows?','un sistema de calculo','una ventana','un sistema operativo',3)
preguntas[1] = new Pregunta ('¿Con que botón se utiliza usualmente el ratón?','Derecho','izquierdo',null,2)
preguntas[2] = new Pregunta('¿Cual es el sistema operativo más moderno de Microsoft?','Windows 95','Windows 98', 'Windows XP',3)
preguntas[3] = new Pregunta ('¿Que acción sucede cuando pulsas Inicio/apagar el sistema?','Apaga el monitor','Suspende la sesión','Apaga el equipo',3)
preguntas[4] = new Pregunta ('¿Cual es el navegador que utiliza Windows?','Mosaic','Internet Exploter','Mosaic',2)


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="#FFFFFA" 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 = comentario1
	}
if ((porcent>0) && (porcent<40))
	{
	mensajeRes = comentario2
	}
if ((porcent>=40) && (porcent <70))
	{
	mensajeRes = comentario3
	}
if ((porcent>=80) && (porcent<100))
	{
	mensajeRes = comentario4
	}
if (porcent ==100)
	{
	mensajeRes = comentario5
	}
return mensajeRes
}
function desactivar(cual,nombre)
{
if (cual.selectedIndex == 0) 
	{return false}
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>
Las instrucciones de configuración están aquí http://www.tunait.com/javascript/index.php?s=testselect


Un saludo
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:45.