我们的客户希望我们为输入字段显示数字键盘,所以基本上我创建了一个如下字段:
<input type="number" name="quantity" step=".01" value="0.00" />
但是,Galaxy Tablet 会删除“.”并合并其前后的数字,还禁用“。”在键盘中。
有没有其他方法可以解决此问题或在使用 type="text"时在输入字段中显示数字键盘?
注意: 我尝试使用 pattern 属性(适用于 iPhone)。 我在装有 Android 2.1+ 的各种 Android 设备上测试了这个问题。我在任何其他 HTC 和三星设备上都没有遇到此错误。
最佳答案
是的,还有另一种方法。
- 方式 1:不使用
type="number"
而使用type="text"
- 方法 2:仅适用于 Android 手机的方法 1。检测用户代理等
- 方法 3:仅将方法 1 应用于失败的实现。请参阅:What models of Samsung smartphones have missing period for html5 input type="number"?
- 方式 4:使用
type="tel"'
仅适用于 Android 或损坏的设备。 (不能在 iPhone 上使用,因为没有期限) - 方法 5:使用
type="text"
,然后使用具有自定义行为的 javascript。见:
句点始终显示:http://jsbin.com/heqeduyi/1/
句点显示一次 3 位数字:http://jsbin.com/yinaweho/1
关于android - 三星 Galaxy 平板电脑不允许将 float 输入到 "number"类型的输入中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11134903/