我正在我的手机上测试我的应用程序(带有chrome的三星galaxy note II),我的数字输入字段有问题。
在我的应用程序中,这些字段可以接受负数,并且在浏览器上一切正常,因为我有-
按钮以及箭头滑块(来自html5)来选择数字。
在手机上虽然没有渲染滑块,浏览器会识别输入类型=数字,只是渲染一个简化的数字键盘,它不包含-
符号,所以我没看到插入我希望的负数的方法。
我的应用程序使用twitter bootstrap 2.3.2和jquery,我不知道如何解决这个问题。
这是我的一个输入字段的代码在我的计算机上正常工作,但无法在我的手机上正确使用它们:
<input class="input-mini" data-type="distance_price" id="distance" label="false" name="distance" step="0.1" type="number" max="-0.1">
在图像中你可以看到红色字段是如何被标记为错误的,因为它需要是负数,但我的键盘不允许我插入符号。包括
-
标志。
任何线索?
答案 0 :(得分:12)
问题is specific to Samsung custom keyboard - 对那些认为比每个人都聪明的供应商更有说服力。以下是此问题的another example
答案 1 :(得分:5)
简而言之,没有办法让减号出现在三星Android数字输入上。以下是我遇到的一些解决方法:
1)Google键盘
用户可以安装其他键盘(如Google Keyboard)。显然,让人们安装一些东西并不理想。
2)否定按钮
正如@Cris已经建议的那样,添加一个否定该值的按钮。如果你有屏幕房地产那么好。
3)双点技巧
我们最终得到了一个相当丑陋的解决方法,用户可以按.
两次,这将取消数字。完全不可发现,但额外的按钮不是我们的选择。
https://gist.github.com/bendytree/936f6b9b4c0e10138b7e9158b5fd05d9
答案 2 :(得分:2)
制作一个额外的输入字段。 “签名”复选框,选择自然或负整数。
然后挂钩复选框的onchange事件,以便更新数字视图以反映所选的符号。
答案 3 :(得分:0)
如果您使用值属性(值=“ - 0.1”)加载初始负值,那么您将为您预先加载减号。
<input class="input-mini" data-type="distance_price" id="distance" label="false" name="distance" step="0.1" type="number" max="-0.1" value="-1">
答案 4 :(得分:0)
如果您是由于上面的“双点技巧”停止工作而返回此处的,则似乎是对输入type =“ number”字段的处理方式进行了更新,从而使第二个“点”甚至无法注册为击键来停止双点从工作。就我而言,我将JS中的测试行更改为
if (lastkey === "." && (key === "." || e.originalEvent.inputType == "deleteContentBackward")){
创建同样精巧的“ Dot Backspace Trick”