2013-03-08 59 views
12

我有一個Android應用程序,它顯示了一個webview中的頁面來處理用戶名/密碼登錄。我發現使用某些鍵盤(如Samsung Jellybean設備上的股票鍵盤),預測文本正在改變用戶在密碼字段中鍵入的內容。關閉網站上的密碼字段的預測文本

例如,如果密碼是「ab!d」,則預測文字會嘗試通過在標點符號後自動輸入一個空格來提供幫助,使其成爲「ab!d」並導致輸入不正確的密碼。我知道預測文本背後的唯一原因是當通過鍵盤菜單設置關閉預測文本時,不會發生此問題。

有沒有辦法在Web表單中輸入時禁用預測文本?我已將輸入類型設置爲「密碼」來掩蓋條目。這不是一個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> 
+0

可能不會幫助,但也可以添加'autocapitalize =「off」' – Prisoner 2013-03-08 16:59:13

+0

你可以發佈你的HTML代碼片段作爲違規的''進入問題嗎? – 2013-03-10 01:47:23

+0

我已經添加了一個片段,包含了一些迄今爲止的建議。 – user2149114 2013-03-11 17:55:02

回答

8

Disable Autocomplete, Autocapitalize, and Autocorrect,有幾個不同的屬性來試試。

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

還和答案Turning off auto-complete for textarea and inputfields in Android Cordova-app表明<input name="password>是解決方案。 type=password不起作用,這很奇怪。

+2

我已經添加了這些屬性,但它們似乎沒有任何區別。 autocorrect和autocapitalize似乎也不被識別標籤。我正在關注這裏列出的列表:http://www.w3schools.com/tags/tag_input.asp。我不認爲名稱屬性,雖然我巧合地遵循了來自其他線程的解決方案,但它有所不同。如果我沒有弄錯,它只是這個領域的標識符。 – user2149114 2013-03-11 17:56:43

+1

這似乎適用於我們,三星設備除外。任何洞察三星可能在鍵盤上尋找什麼屬性來禁用預測文本? – Adam 2015-08-06 19:29:34