У меня есть приложение для Android, которое отображает страницу в веб-браузере для обработки имени пользователя и пароля. Я обнаружил, что с некоторыми клавиатурами (например, клавиатурой на устройствах Samsung Jellybean) прогностический текст меняет то, что пользователь вводит в поле пароля.
Например, если пароль "ab! d", предсказательный текст пытается помочь, автоматически введя пробел после пунктуации, делая его "ab! d" и вызывает неправильный пароль для ввода. Единственная причина, по которой я знаю, что прогностический текст стоит за этим, заключается в том, что эта проблема не возникает, когда интеллектуальный текст отключается через настройки меню клавиатуры.
Есть ли способ отключить интеллектуальный текст при вводе в веб-форме? У меня уже есть тип ввода, установленный на "пароль" для маскировки записи. Это не Android TextView (это HTML-ввод), поэтому у меня нет элементов управления на уровне платформы на входе, и, насколько я знаю, Android не понимает параметр "autocorrect = off", который используют некоторые сайты для решения этой проблемы на устройствах 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>