【问题标题】:html text input broken - Nexus-S 4G / Android 4html 文本输入损坏 - Nexus-S 4G / Android 4
【发布时间】: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


【解决方案1】:

终于找到了!

http://code.google.com/p/android/issues/detail?id=35264

这是一个已知问题。唯一的解决方法是创建一个 javascript 验证器,从字段中删除所有 maxlength 属性。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-02-10
    • 1970-01-01
    • 2017-08-14
    • 1970-01-01
    • 2021-01-18
    相关资源
    最近更新 更多