Javascript 输入类型=数字,允许值不舍入到步长
我有一些HTML输入元素,它们是数字输入框。如果我设置了一个step=“0.1”,那么类似于0.001的输入将无效。如果我设置了一个step=“0.001”,那么涉及的点击太多 这种行为似乎在Firefox42上强制执行,但Chrome46允许使用任何数字。举个例子Javascript 输入类型=数字,允许值不舍入到步长,javascript,html,Javascript,Html,我有一些HTML输入元素,它们是数字输入框。如果我设置了一个step=“0.1”,那么类似于0.001的输入将无效。如果我设置了一个step=“0.001”,那么涉及的点击太多 这种行为似乎在Firefox42上强制执行,但Chrome46允许使用任何数字。举个例子 document.getElementById(“num”).value=0.001; 在Firefox中尝试,然后在Chrome中进行比较 如何使输入框认为所有数字都有效,但在用户单击向上或向下箭头时仍保留步长 注意,此项目中
document.getElementById(“num”).value=0.001;
在Firefox中尝试,然后在Chrome中进行比较
如何使输入框认为所有数字都有效,但在用户单击向上或向下箭头时仍保留步长
注意,此项目中不能使用任何外部库
谢谢
编辑:这里仍然没有好的解决方案,所以我已经实现了我自己的自定义文本框,带有验证和向上/向下按钮我相信您的“步骤”需要与该值具有相同数量的小数,但您可以像任何其他输入一样设置占位符
(如果需要的话,可以通过CSS将其设置为相同的颜色)抱歉,但实际上我有JS计算来填充这些值,所以这个解决方案不起作用。如果用户更改了此框,其他框将被计算,如果用户更改了其他框,此框将被计算。啊,在Frank26080115中得到了它–如果您像现在一样在JS中设置值,并将步长设置为正确的小数位数,然后,在JS中的第一次更改中,您还可以将步骤设置为所需的间隔?是否必须使用´``?这听起来更像是使用普通文本输入,使用JavaScript验证和格式化值,并添加自定义+/-按钮。我喜欢它在所有平台上自动为您提供手机上的数字键盘。这很令人伤心,在这个问题的许多实例中,我们不得不放弃使用标准HTML控件,因为验证行为与步长有关。
<html>
<input type="number" id="num" min="0" max="10" step="0.1" />
<script>
document.getElementById("num").value = 0.001;
</script>
</html>
<input type="number" id="num" min="0" max="10" step="0.1" placeholder=".001" />