根据html5.org,“number”输入类型的“value属性,如果指定且不为空,必须有一个有效浮点数的值。”
然而,它只是一个带有整数的“上下”控件(至少在最新版本的Chrome中),而不是浮动:
<输入类型=“数字” id=“totalAmt”></input>
是否有一个原生的HTML5浮点输入元素,或一种方法,使数字输入类型与浮点,而不是整数工作?或者我必须求助于jQuery UI插件?
根据html5.org,“number”输入类型的“value属性,如果指定且不为空,必须有一个有效浮点数的值。”
然而,它只是一个带有整数的“上下”控件(至少在最新版本的Chrome中),而不是浮动:
<输入类型=“数字” id=“totalAmt”></input>
是否有一个原生的HTML5浮点输入元素,或一种方法,使数字输入类型与浮点,而不是整数工作?或者我必须求助于jQuery UI插件?
当前回答
你可以使用:
<input type="number" step="any" min="0" max="100" value="22.33">
其他回答
你可以将step属性用于输入类型number:
<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;...
基于这个答案
<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 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
如果任何方法都不起作用,你可以使用parse float。
const totalAmt = document.getElementById("totalAmt"); totalAmt。addEventListener(“改变”,(e) = > { / / e.preventDefault (e); const result = parseFloat(e.target.value); console.log(结果) }); <input type="text" id="totalAmt" />
<input type="number" step="any">
这为我工作,我认为是最简单的方法,使输入字段接受任何小数,而不管小数部分有多长。 Step属性实际显示输入字段应该接受多少个小数点。 例如,step="0.01"将只接受两个小数点。