password - disable autocomplete javascript
¿Cómo saber cuándo google coloca la sugerencia de autocompletar? ¿No se usó? (1)
En lugar de utilizar un evento para verificar, debe verificar cuándo se envía el formulario. Aquí está paso a paso:
- Cuando el usuario selecciona un lugar, almacena el lugar Y el valor de texto de la entrada
- Cuando se envíe el formulario, verifique si el valor de la entrada es el mismo que el que guardó
- Si es diferente, o si no hay lugar guardado, realice una solicitud de lugares manual
Demostración: http://jsfiddle.net/robertdodd/FSRd8/7/
Arreglé una pequeña demostración arriba. Lo que hice fue adjuntar un método de validación a la forma. Este método verificará los datos antes de enviar el formulario y, si es necesario, realizará una búsqueda manual primero.
function validateForm() {
searchfield = $(''#searchfield'').val();
if (searchfield == "" || searchfield == null) {
// No text entered
} else if (place && searchfield == placesearch) {
// Success
return true;
} else {
// place info and search text do not match, perform manual lookup
// when lookup is complete, the callback function will store the place info
// and resubmit the form
}
return false;
}
Esto es solo un resumen de lo que sucede, todo el código está en la demostración si desea verlo.
¡Espero que esto te ayude!
Version corta:
Estoy utilizando los lugares de autocompletar de Google de la Biblioteca de Google Places (aquí https://developers.google.com/maps/documentation/javascript/places ) y necesito saber cuándo un usuario ha seleccionado un lugar de la lista de autocompletar y cuando han hecho clic en otro lugar, con pestañas, etc.
Mi objetivo es ejecutar una función cuando un usuario interactúa con el elemento de entrada pero no selecciona una opción de autocompletar.
Más detalles:
Al mirar la documentación, parece que el único evento se dispara cuando (realmente, si) los lugares cambian, lo que sucede después de un viaje de ida y vuelta del servidor (potencialmente largo). Si el usuario no selecciona nada de la lista, ese evento nunca se activará. (Documentos en https://developers.google.com/maps/documentation/javascript/reference?hl=fr#Autocomplete )
Puedo conectar un oyente al evento de desenfoque para el elemento de entrada al que se agrega la autocompletar, pero el problema es que el evento de desenfoque ocurre mucho antes de que ocurra el evento places_changed.
Hasta ahora, hemos intentado varias cosas, como escuchar eventos en las sugerencias de autocompletar con algo como lo siguiente:
$(''body'').on(''click'', ''.pac-item'', function(){alert.log(''yay!'');});
la biblioteca de google aparentemente come los eventos sin embargo.
Cualquier ayuda sería muy apreciada.
¡Gracias!