2013-03-08 9 views
12

Mam aplikację dla systemu Android, która wyświetla stronę w widoku przeglądarki, aby obsłużyć nazwę użytkownika/hasło. Zauważyłem, że w przypadku niektórych klawiatur (takich jak klawiatura czasowa na urządzeniach Samsung JellyBean) tekst przewidujący zmienia to, co użytkownik wpisuje w polu hasła.Wyłącz tekst przewidujący dla pola hasła na stronach internetowych

Na przykład, jeśli hasłem jest "ab! D", tekst przewidujący próbuje pomóc, automatycznie wprowadzając spację po interpunkcji, czyniąc ją "ab! D" i spowoduje wprowadzenie niepoprawnego hasła. Jedyny powód, dla którego wiem, że tekst przewidujący za tym stoi, polega na tym, że problem ten nie występuje, gdy słownik predykcyjny jest WYŁĄCZONY w ustawieniach menu klawiatury.

Czy istnieje sposób wyłączenia przewidywanego tekstu podczas pisania w formularzu internetowym? Mam już ustawiony typ wejścia "hasło", aby maskować wpis. To nie jest Android TextView (jest to wejście HTML), więc nie mam kontroli na poziomie platformy na wejściu i o ile mi wiadomo, Android nie rozumie ustawienia "autokorekty = wyłączone", które są używane przez niektóre witryny rozwiązać ten problem na urządzeniach z iOS.

Zauważyłem, że ten problem nie występuje na innych stronach internetowych, takich jak mail.google.com. Ta sama klawiatura, niezależnie od ustawień, będzie grzecznie pozostawić dane użytkownika samodzielnie w polu hasła tam. Przeglądając źródło HTML na tej stronie nie ujawniło nic specjalnego w polu hasła, tylko ten sam typ danych, którego już używam.

Czy ktokolwiek z Państwa napotkał na ten problem, czy może wymyślić możliwe rozwiązania? Czy jest coś, czego brakuje mi na mail.google.com lub innych stronach? Każda pomoc zostanie bardzo doceniona.

Przykładowy HTML jest poniżej:

<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> 
+0

prawdopodobnie nie pomoże, ale również doda "autocapitalize =" off "' – Prisoner

+0

Czy możesz wstawić swój fragment kodu HTML do obrażającego '' na pytanie? –

+0

Dodałem fragment na żądanie zawierający niektóre z dotychczasowych sugestii. – user2149114

Odpowiedz

8

Według Disable Autocomplete, Autocapitalize, and Autocorrect, istnieje kilka różnych atrybutów, aby spróbować.

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

Również i odpowiedź na Turning off auto-complete for textarea and inputfields in Android Cordova-app sugeruje, że <input name="password> jest rozwiązaniem. Dziwne, że type=password nie działa.

+2

Dodałem te atrybuty, ale nie wydają się one mieć żadnego znaczenia. Autokorekta i autokapitalizacja również nie są rozpoznawanymi znacznikami. Obserwuję listę przedstawioną tutaj: http://www.w3schools.com/tags/tag_input.asp. Nie sądzę, aby nazwa atrybutu, chociaż podążałem za rozwiązaniem z innej nitki przez przypadek, robi jakąkolwiek różnicę. Jest to tylko identyfikator pola, jeśli się nie mylę. – user2149114

+1

to wydaje się działać dla nas, z wyjątkiem urządzeń Samsung. Jakiekolwiek informacje na temat atrybutów, których Samsung może szukać w swoich klawiaturach, aby wyłączyć przewidywanie tekstu? – Adam

Powiązane problemy