根据html5.org,“number”输入类型的“value属性,如果指定且不为空,必须有一个有效浮点数的值。”

然而,它只是一个带有整数的“上下”控件(至少在最新版本的Chrome中),而不是浮动:

<输入类型=“数字” id=“totalAmt”></input>

是否有一个原生的HTML5浮点输入元素,或一种方法,使数字输入类型与浮点,而不是整数工作?或者我必须求助于jQuery UI插件?


当前回答

我这样做

 <input id="relacionac" name="relacionac" type="number" min="0.4" max="0.7" placeholder="0,40-0,70" class="form-control input-md" step="0.01">

然后,我定义最小值在0.4,最大值在0.7,步骤0.01:0.4,0.41,0,42…0.7

其他回答

这个主题(例如step="0.01")与stepMismatch相关,所有浏览器都支持如下:

基于这个答案

<input type="text" id="sno" placeholder="Only float with dot !"   
   onkeypress="return (event.charCode >= 48 && event.charCode <= 57) ||  
   event.charCode == 46 || event.charCode == 0 ">

意义:

字符代码:

48-57等于0 1 2 3 4 5 6 7 8 9 0表示退格(否则需要在Firefox上刷新页面) 46是点

&&是AND, ||是OR运算符。

如果你尝试使用float和逗号:

<input type="text" id="sno" placeholder="Only float with comma !"   
     onkeypress="return (event.charCode >= 48 && event.charCode <= 57) ||  
     event.charCode == 44 || event.charCode == 0 ">

支持Chromium和Firefox (Linux X64)(其他浏览器I不存在)。

你可以使用:

<input type="number" step="any" min="0" max="100" value="22.33">

我遇到了同样的问题,我可以通过在数字中添加逗号而不是句号/句号来解决它,因为法语本地化。

所以它适用于:

2就可以了

2,5也可以

2.5是KO(这个数字被认为是“非法的”,你得到的是空值)。

通过http://blog.isotoma.com/2012/03/html5-input-typenumber-and-decimalsfloats-in-chrome/

但是如果你想让所有的数字都是有效的,整数和小数都是有效的呢?在本例中,将step设置为“any”

<input type="number" step="any" />

适用于我的Chrome浏览器,没有测试在其他浏览器。