Отключить интеллектуальный ввод текста для поля пароля на веб-сайтах

У меня есть приложение для Android, которое отображает страницу в веб-просмотре для обработки имени пользователя/пароля. Я обнаружил, что с некоторыми клавиатурами (например, стандартной клавиатурой на устройствах Samsung Jellybean) интеллектуальный текст изменяет то, что пользователь вводит в поле пароля.

Например, если пароль «ab!d», предикативный текст пытается помочь, автоматически вводя пробел после знака препинания, превращая его в «ab!d», и вызывает ввод неправильного пароля. Единственная причина, по которой я знаю, что за этим стоит интеллектуальный текст, заключается в том, что эта проблема не возникает, когда интеллектуальный текст отключен в настройках меню клавиатуры.

Есть ли способ отключить интеллектуальный ввод текста в веб-форме? У меня уже установлен тип ввода «пароль», чтобы замаскировать запись. Это не Android TextView (это ввод HTML), поэтому у меня нет элементов управления на уровне платформы для ввода, и, насколько я знаю, Android не понимает параметр «автозамена = выкл», который используют некоторые сайты. для решения этой проблемы на устройствах iOS.

Я заметил, что эта проблема не возникает на других веб-сайтах, таких как mail.google.com. Та же самая клавиатура, вне зависимости от настроек, вежливо оставит пользовательский ввод в поле пароля там. Просмотр исходного кода HTML на этой странице не выявил ничего особенного в поле пароля, только тот же тип ввода, который я уже использую.

Кто-нибудь из вас сталкивался с этой проблемой, или вы можете подумать о возможных решениях? Есть ли что-то, что делает mail.google.com или другие сайты, чего мне не хватает? Любая помощь будет оценена.

Пример HTML ниже:

<div data-role="fieldcontain" class="ui-hide-label"  >
<label for="USER">ID</label>
<input autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"  type="text" name="USER" id="USER" value="" maxlength="50" placeholder="${userId_text}" data-theme="c"/>
</div>
<div data-role="fieldcontain" class="ui-hide-label">
<label for="password">Password</label>
<input autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"  type="password" name="password" id="password" value="" maxlength="50" placeholder="Password" data-theme="c"/>
</div>

person user2149114    schedule 08.03.2013    source источник
comment
наверное не поможет, но добавь еще autocapitalize="off"   -  person Prisoner    schedule 08.03.2013
comment
Можете ли вы опубликовать свой фрагмент HTML для оскорбительного <input> в вопросе?   -  person Kevin Hakanson    schedule 10.03.2013
comment
Я добавил фрагмент по запросу, содержащий некоторые из предложений на данный момент.   -  person user2149114    schedule 11.03.2013


Ответы (1)


Согласно отключить автозаполнение, автозаполнение и автозамену, можно попробовать несколько различных атрибутов.

<input autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false" />

Кроме того, и ответьте на Отключение автоматического -complete для текстового поля и полей ввода в Android-приложении Cordova предполагает, что <input name="password> является решением. Странно, что type=password не работает.

person Kevin Hakanson    schedule 10.03.2013
comment
Я добавил эти атрибуты, но они, похоже, не имеют никакого значения. autocorrect и autocapitalize также не распознаются тегами. Я следую представленному здесь списку: w3schools.com/tags/tag_input.asp. Я не думаю, что атрибут имени, хотя я случайно следовал решению из этого другого потока, имеет какое-либо значение. Это просто идентификатор поля, если я не ошибаюсь. - person user2149114; 11.03.2013
comment
у нас это работает, за исключением устройств Samsung. Любое понимание того, какие атрибуты Samsung может искать в своих клавиатурах, чтобы отключить интеллектуальный ввод текста? - person Adam; 06.08.2015