2013-03-08 57 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