据html5.org ,“数字”输入型的“价值属性,如果指定,而不是空的,必须有一个值,该值是一个有效的浮点数。”
然而,这仅仅是(在Chrome,反正最新版本),一个“增减的”控制与整数,浮点数不是:
<input type="number" id="totalAmt"></input>
是否有一个浮点输入元素原产于HTML5,或一种方法,使用浮漂,而不是整数输入的号码类型的工作? 或者,我必须采取一个jQuery UI插件?
据html5.org ,“数字”输入型的“价值属性,如果指定,而不是空的,必须有一个值,该值是一个有效的浮点数。”
然而,这仅仅是(在Chrome,反正最新版本),一个“增减的”控制与整数,浮点数不是:
<input type="number" id="totalAmt"></input>
是否有一个浮点输入元素原产于HTML5,或一种方法,使用浮漂,而不是整数输入的号码类型的工作? 或者,我必须采取一个jQuery UI插件?
的number
类型具有step
值控制哪些电话号码是有效的(与沿max
和min
),缺省值为1
。 这个值也被实现的用于步进按钮(即通过按上增加step
)。
简单地更改此值什么是适当的。 为了钱,两位小数可能正在期待:
<input type="number" step="0.01">
(我还设置min=0
,如果它只能是正的)
如果您愿意允许任何小数位数,可以使用step="any"
(尽管货币,我建议你坚持到0.01
)。 在铬和Firefox,步进按钮将使用时递增1 /递减any
。 (感谢米哈尔Stefanow的答案指出any
,并在这里看到相关规范 )
下面是展示如何步骤各种影响各种输入类型的游乐场:
<form> <input type=number step=1 /> Step 1 (default)<br /> <input type=number step=0.01 /> Step 0.01<br /> <input type=number step=any /> Step any<br /> <input type=range step=20 /> Step 20<br /> <input type=datetime-local step=60 /> Step 60 (default)<br /> <input type=datetime-local step=1 /> Step 1<br /> <input type=datetime-local step=any /> Step any<br /> <input type=datetime-local step=0.001 /> Step 0.001<br /> <input type=datetime-local step=3600 /> Step 3600 (1 hour)<br /> <input type=datetime-local step=86400 /> Step 86400 (1 day)<br /> <input type=datetime-local step=70 /> Step 70 (1 min, 10 sec)<br /> </form>
像往常一样,我会添加一个快速注:请记住,客户端验证只是为了方便用户。 您还必须验证在服务器端!
途经: http://blog.isotoma.com/2012/03/html5-input-typenumber-and-decimalsfloats-in-chrome/
但是,如果你希望所有的数字是有效的,整数和小数的喜爱呢? 在这种情况下,设定步骤“的任何”
<input type="number" step="any" />
在Chrome的工作对我来说,没有在其他浏览器进行测试。
您可以使用:
<input type="number" step="any" min="0" max="100" value="22.33">
希望能帮助,问候
基于此答案
<input type="text" id="sno" placeholder="Only float with dot !"
onkeypress="return (event.charCode >= 48 && event.charCode <= 57) ||
event.charCode == 46 || event.charCode == 0 ">
含义:
字符代码:
0, 1, 2, 3, 4, 5, 6, 7, 8, 9
Backspace
(否则需要在Firefox刷新页面) dot
&&
是AND
, ||
是OR
运算符。
如果你试图用浮动逗号:
<input type="text" id="sno" placeholder="Only float with comma !"
onkeypress="return (event.charCode >= 48 && event.charCode <= 57) ||
event.charCode == 44 || event.charCode == 0 ">
支持的铬和Firefox(Linux的X64)(其他浏览器我不存在。)
我这样做
<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
您可以使用步骤属性输入型号:
<input type="number" id="totalAmt" step="0.1"></input>
step="any"
将允许任何小数。
step="1"
将允许没有小数。
step="0.5"
将允许0.5; 1; 1.5; ...
step="0.1"
将允许0.1; 0.2; 0.3; 0.4; ...
我有同样的问题,我可以通过只把一个逗号 ,而不是一个时期 / 句号的数量,因为法国本地化的解决它。
因此,它的工作原理与:
2是OK
2,5是OK
2.5是KO(数字被认为是“非法的”,您会收到空值)。