【发布时间】:2012-11-07 14:12:05
【问题描述】:
我在一个特定场景中遇到了一个奇怪的问题,想知道是否有人见过类似的情况或有任何想法。
<form action="myurl" method="post" id="login">
<label for="userId" class="text-large">Username</label>
<input id="userId" type="text" maxlength="15" required="1" />
<label for="accessCode" class="text-large">Access Code</label>
<input id="accessCode" type="password" maxlength="4" required="1" />
</form>
起初我以为是maxlength,因为一旦达到最大长度,它就不允许我修改该字段。但是,它不再让我完全输入,也不再注册我在该字段中输入的任何内容。键盘仍会弹出,并且键盘上方的 intelitype/autocomplete 会记录键入,但输入中没有显示任何内容。
我认为 css 中没有发生什么花哨的事情,没有奇怪的隐藏或任何东西,只是一个带边框的输入字段。
我尝试禁用我们的 javascript 验证,没有改变。
我尝试从所有字段中删除 maxlength 属性,没有任何变化。
它似乎特定于这一设备类型。使用 Galaxy SII/SIII 或任何其他 android OS 手机进行测试没有此结果。
【问题讨论】:
-
我没有这些设备来测试或真正知道答案,但您可以尝试使用 javascript 进行自己的 maxlength 检查。向需要最大长度的每个输入添加一个 onkeypress 事件,如果文本框处于其最大长度,则返回 false 禁用添加更多文本的能力。 (不过要小心,您需要检查按键类型,否则您可能会阻止他们甚至退格!
-
@crowebird 即使没有任何 javascript 或 maxlength 属性,我仍然无法输入输入字段。
-
这很奇怪,我以为可能存在 maxlength 错误。它是否停止处理任何页面上的任何表单输入,或者只是您自己的?
-
@crowebird 总而言之。清除缓存和历史没有做任何事情。关闭所有浏览器窗口并重新启动浏览器允许我再次输入,但是,当我在字段中达到最大长度时,问题就开始了。看起来像是特定于设备的错误。
-
Idk if 与此有关。但是在 4.3 之前的 Android 浏览器上的输入字段有一个奇怪的行为,当他们有 -webkit-users-select: none;财产。基本上,您无法在其中的 SOME 上输入任何文本。它已在 Android 4.4 上修复。
标签: android html input nexus-s