Foros del Web » Programando para Internet » Javascript »

Saber si esta en el autocomplete

Estas en el tema de Saber si esta en el autocomplete en el foro de Javascript en Foros del Web. Hola a todos, Estoy haciendo un login, el caso es que tengo un input normal y corriente al que le tengo adjudicada una funcion en ...
  #1 (permalink)  
Antiguo 21/04/2011, 11:11
Avatar de salbatore  
Fecha de Ingreso: abril-2007
Ubicación: Springfield
Mensajes: 1.567
Antigüedad: 17 años
Puntos: 19
Saber si esta en el autocomplete

Hola a todos,

Estoy haciendo un login, el caso es que tengo un input normal y corriente al que le tengo adjudicada una funcion en el evento keyup.

La funcion tiene una simple validacion para detectar si se ha pulsado el return. El caso es que al ser un input al que se le introducen siempre los mismos valores, el navegador despliega el autocompletado.

Mi problema es que al seleccionar un valor del autocompletado, pulsando el return, mi funcion no distingue si es un return del autocompletado o no.


¿Existe alguna variable que indique que el foco se encuentra en autocompletado o algo?
  #2 (permalink)  
Antiguo 22/04/2011, 15:48
Avatar de salbatore  
Fecha de Ingreso: abril-2007
Ubicación: Springfield
Mensajes: 1.567
Antigüedad: 17 años
Puntos: 19
Respuesta: Saber si esta en el autocomplete

Hola de nuevo...

Como veo que es dificil de entender... os pongo un mini script para entenderlo:

Código Javascript:
Ver original
  1. <script>
  2. function tecla(e)
  3.     {
  4.         var k = (e.which) ? e.which : e.keyCode;
  5.         f (k == 13)
  6.             {
  7.                 alert('has pulsado intro!!!');
  8.                 //¿pero... lo has hecho seleccionando algo de autocomplete o has querido enviar el formulario?
  9.             }
  10.     }
  11. </script>
  12. <input name="nick" onKeyDown="tecla(event)" />


¿Como puedo saber si se ha seleccionado una opcion del autocompletado del nick o es que quiere enviar el formulario?
  #3 (permalink)  
Antiguo 22/04/2011, 16:02
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: Saber si esta en el autocomplete

buenas,
tengo dudas a cual de los autocomplete haces referencia, ¿al del navegador propio o alguno parecido a un autosugerencias?
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #4 (permalink)  
Antiguo 22/04/2011, 16:09
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 15 años, 10 meses
Puntos: 1012
Respuesta: Saber si esta en el autocomplete

aquí puedes ver como se hace
  #5 (permalink)  
Antiguo 22/04/2011, 16:23
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: Saber si esta en el autocomplete

creo que ya lo entendi. hice unas pruebas y pude ver el problema. el problema se debe al evento. de por si, no hay forma que los eventos sean disparados por el control que genera el autocomplete (por supuesto, estoy hablando del autocomplete del navegador). de modo que, el evento onkeydown no responde en el input cuando se presiona una tecla en el control de autocomplete. esto porque al momento de hundir la tecla el foco no se encuentra en el input. por constraste, en onkeyup el evento se dispara porque al momento de levantar la tecla el foco se encuentra en el input. nota: recuerda, en si el control de autocomplete no dispara los eventos. creo que el evento que mejor te conviene es onkeypress, ya que debe ocurrir ambos evento (keydown e keyup) en el mismo elemento. de esa forma, sabras que el evento ocurrio en el input. por suerte, onkeypress detecta la tecla Enter.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #6 (permalink)  
Antiguo 24/04/2011, 09:32
Avatar de salbatore  
Fecha de Ingreso: abril-2007
Ubicación: Springfield
Mensajes: 1.567
Antigüedad: 17 años
Puntos: 19
Respuesta: Saber si esta en el autocomplete

Ok!...

Gracias por la ayuda. He estado probando y probando y probando y he visto lo que me comentas zerokilled, ya lo he arreglado con los cambiando los eventos.

Gracias!.
  #7 (permalink)  
Antiguo 24/04/2011, 15:53
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 15 años, 10 meses
Puntos: 1012
Respuesta: Saber si esta en el autocomplete

ha de ser yo que no lo entiendo. en el código del post que vincule, da igual que use onkeyup, onkeydown o onkeypress, que si no uso preventDefault y returnValue para cancelar el evento, me lo envia
  #8 (permalink)  
Antiguo 24/04/2011, 16:20
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: Saber si esta en el autocomplete

@isabelm,
creo que ha de ser tu. salbatore se referia al autocomplete (o autofill) del propio navegador. no se referia a ninguna de esas aplicaciones parecidas al autosugerencia donde los controles se basan en codigo html. ese tipo de control no se maneja en javascript y por ende no se le puede poner un evento ni mucho menos es capaz de lanzar alguno.

__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #9 (permalink)  
Antiguo 25/04/2011, 05:23
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 15 años, 10 meses
Puntos: 1012
Respuesta: Saber si esta en el autocomplete

pero eso que muestras es el site search o web search de google y con ello no se produce el problema que expone el usuario

esto es lo que él decía
Cita:
Iniciado por salbatore Ver Mensaje
Hola a todos,

Estoy haciendo un login, el caso es que tengo un input normal y corriente al que le tengo adjudicada una funcion en el evento keyup.

La funcion tiene una simple validacion para detectar si se ha pulsado el enter. El caso es que al ser un input al que se le introducen siempre los mismos valores, el navegador despliega el autocompletado.

Mi problema es que al seleccionar un valor del autocompletado, pulsando el return, mi funcion no distingue si es un enter del autocompletado o no.


¿Existe alguna variable que indique que el foco se encuentra en autocompletado o algo?
Cita:
Iniciado por salbatore Ver Mensaje
¿Como puedo saber si se ha seleccionado una opcion del autocompletado del nick o es que quiere enviar el formulario?
así que continuo con las mismas dudas. ahhhhgggg, que zeporra que soy!!
  #10 (permalink)  
Antiguo 25/04/2011, 09:46
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: Saber si esta en el autocomplete

hola isabelm,

el buscador de la captura -o sea, de forosdelweb- no trabaja con google, o al menos no en la parte front-end. para hacerlo mas facil, ¿te acuerdas para que es el atributo autocomplete en <form> o <input>? es para suprimir el listado de palabras que muestra el navegador. esto es parte del autofill o autocomplete que aparece en las configuraciones de los navegadores. a eso era lo que supongo yo que se referia @salbatore. dependiendo el navegador, se activa en diferentes partes de la configuracion. por ejemplo, chrome: Opciones > Cosas Personales > Autocompletar formularios > marcar el checkbox. el autocompletado que tu mostrabas -el ejemplo de adler- esta hecho a base de html y consultas a base de datos.

en fin, dependiendo de como funciona cada autocomplete basado en html/javascript, pudiera observarse el problema que menciona salbatore.

__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.

Etiquetas: autocompletado
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 20:06.