Cosas web, algunas úles, algunas buenas.
Fushioko, tiendas de productos de Asia

viernes, febrero 10, 2006

Caja de texto con autocompletado

Cada día son mayores las facilidades que ofrecen las páginas web para que el usuario se esfuerce lo menos posible. Una de ellas es el autocompletado de las cajas de texto, según se vaya escribiendo te aparece una lista con las posibles opciones o con sugerencias. Es lo que usa Google cuando te va mostrando lo más buscado.

A primera vista parece complicado, pero como se va a ver no lo es tanto, eso sí, quizás tiene varias cosas que hay que tener en cuenta, lo que lo convierte en un script un poco largo.

10 Comentarios:

  • Muy interesante, pero en Opera no funciona bien. Por lo menos en la 8.5 de Win que estoy usando ahora. Voy a ver en Firefox

    Por Anonymous Anónimo, a las 2/12/2006 10:38:00 a. m.  

  • Hola, gracias por detectarme un fallo, yo lo había probado también con Opera 8.51 y si me funcionaba en local, lo que no detecté es que cuando está metido en el iframe, se mueve todo el documento cuando pulso los cursores para arriba y para abajo, no solo la capa. Que raro, porque uso el scrollTop del DIV y no del document, ¿será que funciona así en Opera?. En Firefox supongo que si funcionará bien, porque yo es el navegador que uso para todo.

    Por Anonymous Anónimo, a las 2/12/2006 11:49:00 a. m.  

  • Hola, pues la verdad es que no había caido en ese error, ahora mismo no sé por qué puede ser, pero le echo un vistazo y te cuento.

    Por Anonymous Anónimo, a las 7/15/2006 02:13:00 p. m.  

  • En esta entrada de Sentido Web, escribí sobre los shortcuts de teclado, puedes usar lo mismo para lo que tu quieres. Tan solo tienes que mirar si el keyCode es el enter y entonces evitas el evento, creo que lo tendrás que hacer en el onkeydown.

    Por Anonymous Anónimo, a las 7/16/2006 03:08:00 p. m.  

  • Hola, ese problema que tienes tú, es algo que me ha pasado a mí muchas veces, hasta que por fín me puse a sacar cómo hacerlo, en el método ini que hay en esta entrada de Sentido Web hago una posible solución, no sé si la más correcta, pero si sé que funciona.

    Saludos

    Por Anonymous Anónimo, a las 7/20/2006 08:32:00 a. m.  

  • Hola de nuevo, el tema es que Firefox pasa como parámetro el objeto event por defecto. Si nos creamos una funcion:

    function prueba(evt) {
    ..
    }

    cuando la llamamos:

    prueba();

    Firefox realmente lo que hace es hacer esta llamada:

    prueba(event);

    Pero ten en cuenta que el objeto event como tal no existe, al igual que en IE, por eso en la parte de IE enviamos el objeto event (que cuelga del objeto window) y en Firefox no es necesario pasarselo a la función.

    Espero haberme explicado bien.

    Saludos

    Por Anonymous Anónimo, a las 7/20/2006 10:55:00 p. m.  

  • Cada vez me haces más difícil responderte... pero eso me gusta, porque así aprendo.

    Posible solución, tienes un método en el que creas el objeto, al que llamas desde el onload (por ejemplo)
    body onload="ini()"
    y luego en este método creas el objeto y le creas el evento onclick

    var obj=document.createElement("INPUT");
    obj.type="text";
    if (window.event) {
    obj.onclick = function() { otracosa(event, "valor") };
    } else {
    obj.onclick = function(evt) { otracosa(evt, "valor") };
    }

    y luego la funcion a la que se le llama:

    function otracosa(evt, txt) {
    alert(evt);
    alert(txt);
    }

    Creo que es esto a lo que te refieres, no?

    Saludos
    document.body.appendChild(kk);

    Por Anonymous Anónimo, a las 7/21/2006 08:07:00 a. m.  

  • Hola.

    Me alegro que lo hayas solucionado. Lo siento, pero no he tenido nada de tiempo para solucionar lo del autoselect.

    Por Anonymous Anónimo, a las 7/21/2006 09:59:00 p. m.  

  • HOLA:

    tengo un problema con automplete ya que he realizado la modificación para desplegar los datos que extraigo de una base de datos y son almacenados en un archivo con la finalidad que se lea desde ajax para autocompletar en el formulario.
    PROBLEMA
    ALMACENA LOS REGISTROS DE LA bd EN FORMA HORIZONTAL POR LO CUAL NO PUEDE SER LEIDA
    REQUIERO QUE LOS DATOS SE ALMACENEN EN FORMA VERTICAL
    ¡ALGUIEN SABE HACERLO CON ALGUNA INSTRUCCION EN PHP??

    Gracias

    Por Anonymous Anónimo, a las 6/13/2008 08:21:00 p. m.  

  • Gracias, estaba en la búsqueda de esta herramienta autocompletar para mi web.

    Por Anonymous recursos humanos peru, a las 2/27/2010 04:45:00 a. m.  

Publicar un comentario

<< Inicio