Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/420.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 输入类型=数字,允许值不舍入到步长_Javascript_Html - Fatal编程技术网

Javascript 输入类型=数字,允许值不舍入到步长

Javascript 输入类型=数字,允许值不舍入到步长,javascript,html,Javascript,Html,我有一些HTML输入元素,它们是数字输入框。如果我设置了一个step=“0.1”,那么类似于0.001的输入将无效。如果我设置了一个step=“0.001”,那么涉及的点击太多 这种行为似乎在Firefox42上强制执行,但Chrome46允许使用任何数字。举个例子 document.getElementById(“num”).value=0.001; 在Firefox中尝试,然后在Chrome中进行比较 如何使输入框认为所有数字都有效,但在用户单击向上或向下箭头时仍保留步长 注意,此项目中

我有一些HTML输入元素,它们是数字输入框。如果我设置了一个step=“0.1”,那么类似于0.001的输入将无效。如果我设置了一个step=“0.001”,那么涉及的点击太多

这种行为似乎在Firefox42上强制执行,但Chrome46允许使用任何数字。举个例子


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" />