forms - from - autofill mozilla
Autocompletar rellenando campos errĂ³neos (7)
Tengo un sitio con una página de pago que siempre me ha funcionado muy bien.
Recientemente, cualquier cliente que utiliza la función de autocompletar para completar su información, recibe su dirección de correo electrónico en el campo de la empresa. No hay cambios que hicimos que puedan afectar eso. ¿Qué otras herramientas puedo usar para llegar al fondo de esto?
El truco del proxy de entrada casi invisible
Acabo de encontrar el mismo problema con el Chrome 72 ... Solo quería rellenar cualquier tipo de campo (selección o entrada) siempre y cuando no fuera de lectura (con ningún respeto por el nombre, autocompletar, etc. atributos), con cualquier tipo de valor puede haber almacenado previamente.
- Es posible que desee evitar que se rellene el campo porque escucha el evento de
change
o hay alguna validación en la entrada que puede desencadenar un mensaje de error solo debido a un autocompletado incorrecto. - Solo desea que el valor de relleno automático se descarte y ni siquiera se muestre (incluso antes de la ejecución de javascript).
Simplemente proporcione otro campo para que se llene el navegador y hace que sea casi imposible verlo ocultándolo debajo del otro campo.
<input type="text" id="autofill-if-you-dare" style="position: absolute; z-index: -1; top: 20px; width: 0; height:0" />
Nota: Aún puede ocultarlo o eliminarlo con javascript, pero no debe ocultarlo antes de que se complete el llenado automático, ya que Chrome solo llenará los campos visibles. Y como han indicado otras respuestas, no desencadena ningún evento, por lo que debe confiar en las encuestas para hacerlo.
Encontré un problema similar, al tener un campo de "compañía" colocado debajo de un campo de "nombre". Ese campo de la compañía se llenó automáticamente con un año de nacimiento. Vino de otro formulario en el mismo sitio que mostraba un grupo de campo "fecha de nacimiento" justo debajo del campo "nombre". Así que Chrome almacenó sus valores de autocompletado en ese orden. Terminé cambiando mi segundo orden de campo de formulario (lamentablemente fue lo mejor que pude hacer).
Es necesario agregar un nombre a la etiqueta de entrada. Los navegadores usan el nombre para identificar qué información se supone que debe ir al campo. También puede usar el mismo para la identificación y para el marcador de posición si lo desea. Prueba esto:
<input type="text" name="company" id="company" placeholder="company">
Si eso todavía no funciona, puede considerar desactivar la función de autocompletar para ese campo en particular *:
<input type="text" name="company" id="company" placeholder="company" autocomplete="off">
* También puede desactivar la función de autocompletar para todo el formulario utilizando la misma propiedad de autocompletar y el valor de apagado.
Es posible que el problema del OP se haya resuelto (o que haya regresado en actualizaciones recientes), pero a partir de 2019, puede diagnosticar algunos de estos problemas al configurar el indicador show-autofill-type-predictions
en chrome://flags
, reiniciando Chrome, luego mirando el título (texto de información sobre herramientas) para la entrada en cuestión. Le dirá qué información se está utilizando para adivinar el "tipo" de campo y qué tipo de datos guardados se deben usar para completarla.
He estado encontrando este problema últimamente, específicamente con Chrome. Parece que
autocomplete="off"
ya no está siendo recogido por Chrome. He encontrado las siguientes fuentes útiles:
Chromium (en lo que creo que se basa gran parte de Chrome) tiene el siguiente código que muestra la expresión regular que se usa cuando se encuentran campos para completar con el autocompletado de Chrome:
Siento que solo el resto de los trabajos que he encontrado son los siguientes: https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/autocomplete
O, al menos, asegúrese de proporcionar un atributo que sea lo suficientemente diferente de la lista anterior para que no sea seleccionado por las funciones de autocompletado.
Me encontré en un problema similar, y la propiedad de autocompletar es lo que debe usarse en estas situaciones
<input type="text" name="fooBar" autocomplete="organization" >
Lista exhaustiva de etiquetas autocompletar / autocompletar para entradas de formulario html
Todavía no sabemos qué causó el problema, pero para cualquiera que vea esto, terminamos haciendo el campo readonly
para que el autocompletado no lo llene. Luego escribimos algunos JS que, al enfocar, se activan y el usuario puede completarlos manualmente.
<input type="text" name="company" readonly="" onfocus="this.removeAttribute(''readonly'');">