Ver Mensaje Individual
  #3 (permalink)  
Antiguo 17/12/2002, 04:43
Avatar de KarlanKas
KarlanKas
Moderador extraterrestre
 
Fecha de Ingreso: diciembre-2001
Ubicación: Madrid
Mensajes: 6.987
Antigüedad: 22 años, 4 meses
Puntos: 61
Kes!!

Igual lo que te propongo es matar moscas a cañonazos, pero mira a ver si te sirve este código...

Lo que hago un poco es simular un SELECT... y luego ir comprobando lo que se va escribiendo con la lista (en mi caso la he hecho en javascript pero será muy fácil adaptarla a PHP) y si comprueba que no se corresponde con ningún elemento de la lista hace cambiarse el Input por el SELECT. Para hacerlo convierte las variables a minusculas para que no salgan falsos errores si da igual el que esté en mayusculas o minusculas.

El SELECT también salta si se pincha sobre la imagen de la derecha que no es sino una representación de la flecha que aparece a la derecha de un select.

Si quieres ver como funciona sin tener que copiar y pegar visita www.webareyou.com/select.html

Si crees que se puede mejorar eres libre de hacerlo así como de preguntar sugerir...

el código es el siguiente (lo pongo en PHP poruqe queda más claro, pero es javascrit, eh?)
Código PHP:
<html>
<
head>
    <
title>Prueba</title>
    <
script>
    var 
bien=0;
    
opciones=new Array;
    
opciones[0]="Estaba el señor Don Gato";
    
opciones[1]="Sentadito en su tejado";
    
opciones[2]="Marramiamiau miau miau";
    
seleccion="<select style='width:180px' name='escribe' size='1'>"
    
for (a=0a<opciones.lengtha++){
    
seleccion=seleccion+"<option value='"+a+"'>"+opciones[a]+"</option>";
    }
    
seleccion=seleccion+"</select>";
    function 
cambio(){
    
pregunta.innerHTML=seleccion;
    
    }
    function 
comprobar(){
    
escrito=escribe.value
    escrito
=escrito.toLowerCase();
    
numerodeletras=escrito.length;
    for (
a=0a<opciones.lengtha++){
                                        
texto=opciones[a].substring(0,numerodeletras);
                                        
texto=texto.toLowerCase();
                                        if (
texto==escrito){bien=bien+1}
                                        }
    if (
bien==0){pepe=confirm("no incluido en la lista\n¿Quiere ver la lista?");
                if (
pepe){cambio()}
                }
                
bien=0;
    
    }
    
</script>
</head>
<body>
<div id="pregunta" style="position:absolute;top:50px;left:50px;z-index:2"><input style=";width:160px" type="text" onkeyup="comprobar()" vale="dd" name="escribe"></div>
<img  style="position:absolute;top:49px;left:210px;z-index:2;" onclick="cambio()" src="boton.jpg">
</body>
</html> 
Saludos
__________________
Cómo escribir

No hay pregunta tonta, sino tonto que quiere seguir en la ignorancia.

Última edición por KarlanKas; 17/12/2002 a las 04:50