Можно ли использовать CSS для отключения автозаполнения в элементе формы (в частности, в текстовом поле)?
Я использую библиотеку тегов, которая не позволяет использовать элемент автозаполнения, и я хотел бы отключить автозаполнение без использования Javascript.
autocomplete="off"
игнорируются в версии браузера X (текущая + 1). (Например, последняяid
он все равно сохранит его в кеше (то есть на жестком диске пользователя). Что ужасно делать с номером кредитной карты или любой другой конфиденциальной информацией. Кроме того, это излишне загромождает дисковые накопители вашего пользователя. Каждый раз, когда они посещают вашу страницу, на их компьютере будет сохраняться новый файл (похожий на cookie). На всякий случай попробуйте очистить кеш Chrome и посмотреть, сколько места он освободит (если вы не делали этого какое-то время). Вот почему я считаю это ужасной идеей.В настоящее время в CSS нет атрибута «автозаполнение выключено». Однако в html для этого есть простой код:
<input type="text" id="foo" value="bar" autocomplete="off" />
Если вы ищете эффектор для всего сайта, проще всего было бы просто использовать js-функцию для прохождения всех 'input' и добавления этого тега или искать соответствующий класс / идентификатор css.
Атрибут автозаполнения отлично работает в Chrome и Firefox (!), Но см. Также Есть ли действительный способ W3C отключить автозаполнение в HTML-форме?
источник
autocomplete="anyrandominvalidvalue"
будет работать.вы можете легко реализовать с помощью jQuery
$('input').attr('autocomplete','off');
источник
form
- ЕДИНСТВЕННОЕ, что сработало. Нетinput
. Спасибо.Если вы используете,
form
вы можете отключить все автозаполнения с помощью,<form id="Form1" runat="server" autocomplete="off">
источник
У CSS нет такой возможности. Вам нужно будет использовать сценарии на стороне клиента.
источник
autocomplete="false"
будет работать в Edge. Технически здесь может использоваться любое недопустимое значение.Я пробовал все предложенные способы из ответов на этот вопрос и других статей в Интернете, но все равно не работал. Я попробовал autocomplete = "new-random-value", autocomplete = "off" в элементе формы, используя клиентский скрипт, как показано ниже, но за пределами $ (document) .ready (), как упомянул один из пользователей:
$(':input').on('focus', function () { $(this).attr('autocomplete', 'off') });
Я обнаружил, что может быть другой приоритет в браузере вызывает такое странное поведение! Итак, я искал больше и, наконец, я снова внимательно прочитал следующие строки из этой хорошей статьи :
Это просто сработало. Я специально пробовал в Chrome и надеюсь, что это продолжит работать и поможет другим.
источник
Я решил проблему, добавив поддельное имя автозаполнения для всех входов.
$("input").attr("autocomplete", "fake-name-disable-autofill");
источник
Для этого есть 3 способа, я упоминаю их, чтобы они были лучше ...
1-HTML способ:
<input type="text" autocomplete="false" />
2-Javascript способ:
document.getElementById("input-id").getAttribute("autocomplete") = "off";
3-jQuery способ:
$('input').attr('autocomplete','off');
источник
Благодаря решению @ahhmarr я смог решить ту же проблему в моем Angular + ui-router среде , которой я поделюсь здесь для всех, кто заинтересован.
В моем
index.html
я добавил следующий сценарий:<script type="text/javascript"> setTimeout(function() { $('input').attr('autocomplete', 'off'); }, 2000); </script>
Затем, чтобы охватить изменения состояния, я добавил в свой корневой контроллер следующее:
$rootScope.$on('$stateChangeStart', function() { $timeout(function () { $('input').attr('autocomplete', 'off'); }, 2000); });
Таймауты предназначены для отображения HTML перед применением jquery.
Если вы найдете лучшее решение, дайте мне знать.
источник
Вы не можете использовать CSS для отключения автозаполнения, но можете использовать HTML:
<input type="text" autocomplete="false" />
Технически вы можете заменить
false
любое недопустимое значение, и оно будет работать. Это iOS - единственное решение, которое я нашел, которое также работает в Edge.источник
Я просто использую
'new-password'
вместо этого'off'
автозаполнение.и я также попробовал использовать этот код и работает (по крайней мере, с моей стороны), я использую WP и GravityForm для вашей информации
$('input').attr('autocomplete','new-password');
источник
$('input').attr('autocomplete','off');
источник