¿Es posible usar CSS para deshabilitar el autocompletar en un elemento de formulario (específicamente un campo de texto)?
Utilizo una biblioteca de etiquetas que no permite el elemento de autocompletar y me gustaría deshabilitar el autocompletar sin usar Javascript.
autocomplete="off"
se ignorará en la versión del navegador X (actual + 1). (Por ejemplo, la última versión de Google Chrome ignora autocompletar = desactivado).id
, aún lo guardará en la caché (es decir, en el disco duro de un usuario). Lo cual es algo horrible para hacer con el número de tarjeta de crédito de alguien o cualquier otra información confidencial. Además, satura innecesariamente las unidades de disco de su usuario. Cada vez que visitan su página, se guardará un archivo nuevo (similar a una cookie) en su computadora. Solo por el gusto de hacerlo, intente borrar su caché de Chrome y vea cuánto espacio liberará (si no lo ha hecho durante un tiempo). Por eso lo llamo una idea horrible.Tal como está, no hay ningún atributo de "autocompletar desactivado" en CSS. Sin embargo, html tiene un código sencillo para esto:
Si está buscando un efector para todo el sitio, uno fácil sería simplemente tener una función js para ejecutar todas las 'entradas' y agregar esta etiqueta, o buscar la clase / id css correspondiente.
El atributo de autocompletar funciona bien en Chrome y Firefox (!), Pero consulte también ¿Existe una forma válida de W3C para deshabilitar el autocompletar en un formulario HTML?
fuente
autocomplete="anyrandominvalidvalue"
que funcionará.puedes implementar fácilmente con jQuery
fuente
form
es lo ÚNICO que funcionó. Noinput
. Gracias.Si está utilizando un
form
, puede deshabilitar todos los autocompletar con,fuente
CSS no tiene esta capacidad. Debería utilizar secuencias de comandos del lado del cliente.
fuente
autocomplete="false"
funcionará en Edge. Técnicamente, cualquier valor no válido puede ir en lugar de "falso" aquí.Intenté todas las formas sugeridas de las respuestas a esta pregunta y otros artículos en la web, pero de todos modos no funcionó. Intenté autocomplete = "new-random-value", autocomplete = "off" en el elemento de formulario, usando el script del lado del cliente como se muestra a continuación pero fuera de $ (document) .ready () como uno de los usuarios mencionó:
¡Quizás encontré otra prioridad en el navegador debido a este comportamiento extraño! Así que busqué más y finalmente, volví a leer detenidamente las líneas de este buen artículo a continuación :
Simplemente funcionó. Probé en Chrome especialmente y espero que esto siga funcionando y ayude a otros.
fuente
Resolví el problema agregando un nombre falso de autocompletar para todas las entradas.
fuente
Gracias a la solución de @ ahhmarr pude resolver el mismo problema en mi entorno de enrutador de interfaz de usuario Angular + , que compartiré aquí para quienes estén interesados.
En mi
index.html
he agregado el siguiente script:Luego, para cubrir los cambios de estado, agregué lo siguiente en mi controlador raíz:
Los tiempos de espera son para que html se procese antes de aplicar jquery.
Si encuentra una solución mejor, hágamelo saber.
fuente
No puede usar CSS para deshabilitar el autocompletado, pero puede usar HTML:
Técnicamente, puede reemplazarlo
false
con cualquier valor no válido y funcionará. Este iOS es la única solución que he encontrado que también funciona en Edge.fuente
Hay 3 formas de hacerlo, las menciono en orden de ser la mejor manera ...
Forma 1-HTML:
2-forma Javascript:
3-jQuery forma:
fuente
Solo uso
'new-password'
en su lugar'off'
en autocompletar.y también intenté usar este código y funciona (al menos de mi parte), uso WP y GravityForm para su información
fuente
fuente