我有一个html5号码输入: <input type="number" />
我希望它接受分数和混合数,例如38 1/2以及整数和小数.
我解析了分数服务器端.
目前,当输入失去焦点时,浏览器将输入更改为38.
目前的解决方法是使用纯文本输入,但我希望type="number"在移动设备上使用特定键盘的好处.
该<input type="number">元素定义为创建依赖于浏览器的浏览器区域设置输入控件以输入数字.除非您可以使用属性指定范围和精度,否则无法在文档中更改此设置.所以一个浏览器可以接受38 1/2并将其内部转换为38.5,但没有办法说它应该,更少强迫它这样做.此外,数字的内部格式(传递给服务器)是严格定义的; 例如,它不能是38 1/2.
所以你需要使用纯文本输入或一些特殊的小部件(用JavaScript编程).您可以使用该pattern属性以某种方式指定允许的格式,至少是允许的字符集; 这可能会也可能不会影响触摸设备上显示的屏幕键盘(对于当前设备,它可能不会).