Ответ 1
Если я правильно понимаю, у вас возникла проблема с функцией автозаполнения. Просто добавьте "autocomplete = 'off" на свой вход, и это должно отключить функцию.
<input type="text" autocomplete="off"/>
Я построил выпадающий текстовый блок AngularJS, который отлично работает в Chrome, Firefox, Safari и Internet Explorer.
Особенностью этого компонента является то, что вы вводите строку, а затем можете использовать клавиши со стрелками вверх/вниз для прокрутки предложений.
В Microsoft Edge, как только вы нажмете стрелку вниз, в поле ввода добавляется следующий текст:
кратко объясните свои изменения (исправленное правописание, исправленная грамматика, улучшенное форматирование)
Есть ли что-нибудь, что я могу сделать на стороне клиента, чтобы это не произошло?
<form>
<input type="text" />
</form>
Если я правильно понимаю, у вас возникла проблема с функцией автозаполнения. Просто добавьте "autocomplete = 'off" на свой вход, и это должно отключить функцию.
<input type="text" autocomplete="off"/>
К сожалению, ни одно из вышеперечисленных предложений не помогло мне в последней версии Edge. Тем не менее, это решение:
<input type="text" autocomplete="off" list="autocompleteOff"
id="fieldId" name="fieldname" placeholder="Placeholder here" />
Это заставляет Edge найти список поиска данных с именем autocompleteOff
, который не существует. Работает угощение для меня.
Дополнительным преимуществом является то, что это чистый HTML, без CSS или JS.
Из Mozilla:
Вы можете установить автозаполнения по фактической форме тега <form autocomplete='off' ... >...</form>
, который будет работать в течение всей формы, или по тегам отдельных <input type='text' />
.
В моем опыте по IE 11 и Edge, которые помещают его в форму, но отдельные теги не работают. Я пробовал тестирование в Chrome, но поля уже не были автозаполнены.
Пожалуйста, прочитайте полный Статья для получения более подробной информации.
Примечание
Большинство браузеров игнорируют это для полей входа.
если вы хотите удалить автозаполнение на входе в chrome при использовании autocomplete="off"
, вы также должны удалить идентификатор. Если вы не удалите id
на своем входе, автозаполнение не будет работать!
простой пример:
<input type="text" autocomplete="off" list="autocompleteOff"
name="fieldname" placeholder="Placeholder here" />
вы можете обработать ваш ввод с именем;), это работает для меня хорошо.
если вам нужно приложение/сайт, вы можете использовать jquery:
$('input').attr('autocomplete','off');
Или, если вы похожи на меня и используя Angular + ui-router, вы можете попробовать следующее:
В index.html
добавьте следующий script:
<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.
Если вы найдете лучшее решение, сообщите мне.