【发布时间】:2014-03-07 19:30:52
【问题描述】:
我正在我的手机(带有 chrome 的三星 Galaxy Note II)上测试我的应用程序,但我遇到了数字输入字段的问题。
在我的应用程序中,这些字段可以接受负数,在浏览器上一切都很好,因为我有 - 按钮以及用于选择数字的箭头滑块(来自 html5)。
在手机上虽然没有渲染滑块,浏览器识别输入类型=数字,只是渲染一个简化的数字键盘,不包含-符号,所以我没有看到方法插入我希望的负数。
我的应用程序使用带有 jquery 的 twitter bootstrap 2.3.2,我不知道如何解决这个问题。
这是我的一个输入字段的代码,它可以在我的计算机上正常工作,但无法在我的手机上正确使用:
<input class="input-mini" data-type="distance_price" id="distance" label="false" name="distance" step="0.1" type="number" max="-0.1">
在图像中,您可以看到红色字段如何被标记为错误,因为它需要为负数,但我的键盘不允许我插入符号。包括- 符号。
任何线索?
【问题讨论】:
-
您应该始终将电话号码作为字符串而不是实际数字来处理,因为它们是由数字(可能还有其他符号,例如 +)而不是数字组成的 字符串。我对android开发一无所知,但是如果您将数据类型更改为字符串,这有帮助吗?
-
@Max Williams:你听说过否定电话号码吗?也许你应该再读一遍这个问题......
-
刚刚在带有 Android 4.4.2 的 Nexus 4 和带有 Goggle 标准键盘和 Swiftkey 键盘的 Chrome 版本 32.0.1700.99 上进行了测试,两者都可以正常工作。也许这是具有“旧”Android/Chrome 版本的“旧”设备的问题?如果事实证明这是问题所在,那么您可能应该使用纯字符串输入字段使用@MaxWilliams Workaround。
-
在 Nexus 上为我工作。这似乎是某些类型的 Android 浏览器的缺陷,您始终可以为滑块实现 Javascript 后备。
-
@morten,我的手机很新,肯定比 80% 的智能手机用户更新,它必须是手机/浏览器/操作系统的特定组合,我需要处理,否则我会失去这样的用户。也许是的,这可能是一个解决方案,在手机上这些字段变成文本,但是我必须在本地实现所有逻辑来验证字段。
标签: javascript android ruby-on-rails html twitter-bootstrap