根据html5.org,“number”输入类型的“value属性,如果指定且不为空,必须有一个有效浮点数的值。”
然而,它只是一个带有整数的“上下”控件(至少在最新版本的Chrome中),而不是浮动:
<输入类型=“数字” id=“totalAmt”></input>
是否有一个原生的HTML5浮点输入元素,或一种方法,使数字输入类型与浮点,而不是整数工作?或者我必须求助于jQuery UI插件?
根据html5.org,“number”输入类型的“value属性,如果指定且不为空,必须有一个有效浮点数的值。”
然而,它只是一个带有整数的“上下”控件(至少在最新版本的Chrome中),而不是浮动:
<输入类型=“数字” id=“totalAmt”></input>
是否有一个原生的HTML5浮点输入元素,或一种方法,使数字输入类型与浮点,而不是整数工作?或者我必须求助于jQuery UI插件?
当前回答
我已经开始使用inputmode="decimal",它在智能手机上完美地工作:
<输入类型=“文本” 输入模式=“十进制”值=“1.5”>
注意,我们必须使用type="text"而不是number。然而,在桌面上,它仍然允许字母作为值。
对于桌面,您可以使用:
<输入类型=“数字” 输入模式=“十进制”>
允许0-9和。作为输入,只有数字。
请注意,一些国家使用,作为小数除数,这是在NumPad上默认激活的。因此,通过Numpad输入一个浮点数将不会像输入字段所期望的那样工作。(铬)。这就是为什么如果你的网站上有国际用户,你应该使用type="text"。
你可以尝试在桌面上(也与Numpad)和你的手机:
<p>输入text类型:</p> <input type="text" inputmode="decimal" value="1.5"> < br > <p>输入类型号:</p> <input type="number" inputmode="decimal" value="1.5">
参考:https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/inputmode
其他回答
我这样做
<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="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不存在)。
是的,这是正确答案:
step="any"
这样更有效率。相信我。
<输入类型=“数字” 步骤=“任意”>
. getelementbyid(“form1”)。addEventListener(‘提交’,函数(e) { e.preventDefault (); alert("Your nnumber is: "+document.getElementById('n1').value) 警报(“这有用吗?:)请点赞”) }) <形式id =“form1 " > <input type="number" step="any" id="n1"> <按钮类型=“提交”> > < /按钮提交 > < /形式 <!——upvote:)——>
你可以使用:
<input type="number" step="any" min="0" max="100" value="22.33">
我遇到了同样的问题,我可以通过在数字中添加逗号而不是句号/句号来解决它,因为法语本地化。
所以它适用于:
2就可以了
2,5也可以
2.5是KO(这个数字被认为是“非法的”,你得到的是空值)。