我有以下html5输入元素:
<input type="number">
Run Code Online (Sandbox Code Playgroud)
为什么这个输入允许在输入字段中输入字符'e'?无法输入其他字母字符(如预期的那样)
使用chrome v.44.0.2403.107
看看我的意思:http://www.w3schools.com/html/tryit.asp?filename = tryhtml_input_number
我正在构建主要用于移动浏览器的Web应用程序.我使用数字类型的输入字段,因此(大多数)移动浏览器仅调用数字键盘以获得更好的用户体验.这个Web应用程序主要用于小数分隔符是逗号而不是点的区域,所以我需要处理两个小数分隔符.
如何用点和逗号来掩盖这整个烂摊子?
我的发现:
桌面Chrome
$("#my_input").val(); 返回"455"桌面Firefox
$("#my_input").val(); 返回"4,55"Android浏览器
Windows Phone 8
$("#my_input").val(); 返回"4,55"当用户可能使用逗号或点作为小数分隔符并且我想将html输入类型保持为数字时,这种情况下的"最佳实践"是什么,以提供更好的用户体验?
我可以将逗号转换为"动态"点,绑定键事件,它是否与数字输入一起使用?
Currenlty我没有任何解决方案,如何从输入中获取浮点值(作为字符串或数字),类型设置为数字.如果最终用户输入"4,55",则Chrome返回"455",Firefox返回"4,55",这很好.
同样令人讨厌的是,在Android(经过测试的4.2模拟器)中,当我输入"4,55"输入字段并将焦点更改为其他位置时,输入的数字将被截断为"4".