相关疑难解决方法(0)

为什么带有"数字"类型的html输入允许在字段中输入字母"e"?

我有以下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

html5 numbers input

196
推荐指数
10
解决办法
12万
查看次数

如何使用html5输入类型编号处理浮点数和小数分隔符

我正在构建主要用于移动浏览器的Web应用程序.我使用数字类型的输入字段,因此(大多数)移动浏览器仅调用数字键盘以获得更好的用户体验.这个Web应用程序主要用于小数分隔符是逗号而不是点的区域,所以我需要处理两个小数分隔符.

如何用点和逗号来掩盖这整个烂摊子?

我的发现:

桌面Chrome

  • 输入类型=数字
  • 用户输入"4,55"到输入字段
  • $("#my_input").val(); 返回"455"
  • 我无法从输入中获得正确的值

桌面Firefox

  • 输入类型=数字
  • 用户输入"4,55"到输入字段
  • $("#my_input").val(); 返回"4,55"
  • 多数民众赞成,我可以用点替换逗号并得到正确的浮点数

Android浏览器

  • 输入类型=数字
  • 用户输入"4,55"到输入字段
  • 当输入失去焦点时,值被截断为"4"
  • 让用户感到困惑

Windows Phone 8

  • 输入类型=数字
  • 用户输入"4,55"到输入字段
  • $("#my_input").val(); 返回"4,55"
  • 多数民众赞成,我可以用点替换逗号并得到正确的浮点数

当用户可能使用逗号或点作为小数分隔符并且我想将html输入类型保持为数字时,这种情况下的"最佳实践"是什么,以提供更好的用户体验?

我可以将逗号转换为"动态"点,绑定键事件,它是否与数字输入一起使用?

编辑

Currenlty我没有任何解决方案,如何从输入中获取浮点值(作为字符串或数字),类型设置为数字.如果最终用户输入"4,55",则Chrome返回"455",Firefox返回"4,55",这很好.

同样令人讨厌的是,在Android(经过测试的4.2模拟器)中,当我输入"4,55"输入字段并将焦点更改为其他位置时,输入的数字将被截断为"4".

javascript floating-point mobile jquery html-input

122
推荐指数
5
解决办法
19万
查看次数