Foros del Web » Programando para Internet » Javascript »

script mensaje de alerta en un cuadro desplegable

Estas en el tema de script mensaje de alerta en un cuadro desplegable en el foro de Javascript en Foros del Web. Me alegro de que entre alguien más en este post. Al menos ya somos tres...

  #91 (permalink)  
Antiguo 06/02/2003, 08:18
Avatar de epa2  
Fecha de Ingreso: abril-2002
Ubicación: Málaga
Mensajes: 1.475
Antigüedad: 22 años
Puntos: 9
Me alegro de que entre alguien más en este post.

Al menos ya somos tres
__________________

***Aprendiz de todo y maestro de nada***
  #92 (permalink)  
Antiguo 07/02/2003, 08:23
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
Epa, si se da la respuesta diciendo que es correcto o incorrecto hay que anular la posibilidad de cambiar la respuesta, osea, deshabilitar el campo.
Es muy habitual en un select pinchar sin querer en la opción que no se quería (dedo tonto). Así que o bien no se da la respuesta al momento o bien si se da hay que dar la opción de cancelar en caso de haber seleccionado por error lo que no se quería.

No te recomiendo que hagas ese cambio.

Si quieres desactivar la confirmación cambia la variable confirmacion a 0 como indico en el script pero entonces no se sabrá el resultado hasta pedir que se verifique la encuesta entera.
  #93 (permalink)  
Antiguo 10/02/2003, 05:16
Avatar de epa2  
Fecha de Ingreso: abril-2002
Ubicación: Málaga
Mensajes: 1.475
Antigüedad: 22 años
Puntos: 9
Tunait, espero que estés bien.


Por aquí abajo estos dias nos caido el diluvio universal, pero bueno, con mi patito de la bañera he podido salvar el pezcuezo

Mira, tienes razón en lo de no retocar el código en ese sentido.(como siempre).

Lo del dedo tonto es verdad que suele suceder bastante.

En fin, de todas maneras llevo meses dandole vuelta a un asunto de este proyecto, que va a ser un bombazo, pero no quiero abusar de tu paciencia

Más adelante te lo comentaré con detalles, .

Muchas gracias por tu comprensión.

Un abrazo
__________________

***Aprendiz de todo y maestro de nada***
  #94 (permalink)  
Antiguo 12/02/2003, 10:31
Avatar de epa2  
Fecha de Ingreso: abril-2002
Ubicación: Málaga
Mensajes: 1.475
Antigüedad: 22 años
Puntos: 9
Hola Tunait, espero que estés bien,

Llevo dos tardes trabajando y "puliendo" tu script. De verdad, cada vez que estoy más tiempo con el código, aprecio cada vez más todo el trabajo que has tenido que hacer (incluso la calidad que es excelente)

En verdad, no encuentro palabras para darte las gracias.

¡¡Dios mio!!! Está lleno de bucles.....

Incluso me he puesto a retocar algunas líneas de javascript (bueno, en su caso la mayoría era la mezcla del HTML y el script, pero también le he añadido al objeto Math la propiedad Round)

Espero que algún día mi profe de javascript se sienta orgulloso de mi (y los amigos del foro también, por supuesto).

Una sola cosilla o duda que tengo Tunait.

El código no se visualiza en el Nestcafé. En IE no problem pero el Nescafé da problem (con razón siempre me sentó mal el café)


Me refiero que el formulario del test si, no hay problem, lo que sucede es que cuando te tiene que salir la función que da los resultados del test no sale nada.

Compruebalo tu misma, cuando puedas por favor.

Te espero con un vaso de cola-cao
__________________

***Aprendiz de todo y maestro de nada***
  #95 (permalink)  
Antiguo 12/02/2003, 11:11
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Hola amigos:

Mil perdones por entrometerme, pero a veces husmeo y ya que mi paisa epa2, hace pruebas con el nescafé, quiero decirle una opción que tiene que me parece mejor que la de su omnipotente competencia...
Herramientas > Desarrollo web > consola de javascript
Indica el error, el fichero, y el número de linea...

He intentado verlo pero no me llegué a enterar, pero es algo así como "aciertos no está definido"...

Claro que viendo la página se ve que que está definida.
Bueno... No voy a hacer el seguimiento ya que no sé por donde van los tiros. La prueba la hice copiando la página que está transcrita un poco más arriba.
En ocasiones muestra un error, pero en realidad lo que falla es algunas líneas más arriba, tal vez en una simple coma o en algo impensable.

Un abrazo
  #96 (permalink)  
Antiguo 05/03/2003, 09:00
Avatar de epa2  
Fecha de Ingreso: abril-2002
Ubicación: Málaga
Mensajes: 1.475
Antigüedad: 22 años
Puntos: 9
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 //cambiar a 1 si se quiere confirmación y respuesta instantanea

//###Dejar sin responder una pregunta equivale a un fallo
var aciertos=
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;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' '"' confir ' >')
    
document.write ('<option>Seleccione una opción</option>')
        for (
x=0;x<Pregunta.length-2;x++)
        {
        
pregu=eval('preguntas[m].resp' + (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' '.selectedIndex')
    if (
selec==0) {continue}
    else{
    
valor=eval('document.test.r' '.options[document.test.r' '.selectedIndex]')
    
respuestas[p] = valor.value
    contestadas 
++
        }
    }
resultado()
}
function 
resultado()
{
for(
h=0h<preguntas.lengthh++)
    {
    
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>&nbsp;</p>
</body>
</html> 
__________________

***Aprendiz de todo y maestro de nada***
  #97 (permalink)  
Antiguo 05/03/2003, 09:42
Avatar de epa2  
Fecha de Ingreso: abril-2002
Ubicación: Málaga
Mensajes: 1.475
Antigüedad: 22 años
Puntos: 9
Hola, soy yo de nuevo, como verás, lo mismo me tiro un mes en la tumba que de pronto (como diría nuestro amigo Karlankas) me siento abducido.

Bueno, te cuento, hace como cosa de un mes se me ocurrió la idea de dar color por medio de JavaScript a los botones radio del formulario. Si el botón estaba chekeado,pues un color, si no, pues otro color.

Nuestro amigo Caricatos me pasó el siguiente código

Código PHP:
<html>
<
head>
<
script>
function 
actuar() {
var 
elementos document.forms.test.getElementsByTagName("input");
for (var 
0elementos.length++)
if (
elementos[i].name == "r" && elementos[i].checked == trueelementos[i].style.backgroundColor "red";
else 
elementos[i].style.backgroundColor "blue";
}
</script>
</head>
<body onload="actuar()" bgcolor="#FFFFFF" text="#000000">
<form name=test>
<input type=radio name="r" onclick="actuar()">
  <input type=radio name="r" onClick="actuar()">
  </form>
</html> 
Hasta aquí todo bien, pude colocar el script en el código sin que al verlo en el navegador me saliese la típica ventanita de error,

Cita:
¡¡¡¡PERO MI GOZO EN UN POZO!!! mi querida amiga
Tonto de mí, cuando voy a pulsar un botón de radio del Test, ¡¡¡¡SE ME PONEN TODOS DE COLOR AZUL!!!!.

Estoy seguro de que la culpa es del nombre de los botones.
El problema con nuestro código de los test es que PARA TODOS LOS BOTONES DE RADIO USAMOS EL MISMO NOMBRE. por eso lo que me pasa.

Si puedes aconsejarme en cuanto esto, te vuelvo a esperar,

uuuuffffff, vaya tardecita....
__________________

***Aprendiz de todo y maestro de nada***
  #98 (permalink)  
Antiguo 10/03/2003, 13:02
Avatar de epa2  
Fecha de Ingreso: abril-2002
Ubicación: Málaga
Mensajes: 1.475
Antigüedad: 22 años
Puntos: 9
¿tunait?

¿Andas por ahí o has sido abducida?
__________________

***Aprendiz de todo y maestro de nada***
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 05:29.