<input type=number> on IE11 / Win7和IE11 / Win8,给定min、max和step不接受某些数字范围为正确的验证错误“您必须输入一个有效值”
在我的例子中,我用步骤0.00001选择了min 90,max作为90(地理纬度输入)。
由于某些原因,下列值范围无效:
这些范围之间的差距是有效的。
带有错误的测试用例:https://jsfiddle.net/w0r05kq7/4/
代码:
<form>
<input type="number" min="-90" max="90" step="1.0e-05" value="58,69374">
<input type="submit"></input>
</form>边缘或IE11 / Win10不会发生这种情况。
我想继续使用数字输入,因为它在其他浏览器上很有用,但我也需要一些IE支持。有什么解决办法吗?还是干脆放弃?
发布于 2015-09-05 19:30:05
问题在于如何在IE中验证约束。我用值34进行了测试,在调用方法input.checkValidity时,它返回false。也是在检查input.validity时,它将stepMismatch错误显示为真。在计算这些验证时,似乎存在一些问题。
我制作了一个可复制的柱塞,有趣的是,如果您将步长设置为小数点4位,那么它适用于所有情况,但是当您增加到小数点5位时,它会产生验证错误。
我希望这能让你对这个问题的根源有一些了解。如果可能的话,你可以和4个地方一起开发。我将在IE中查找小数点5位的解决方案,如果我找到任何答案,我会更新答案。
https://stackoverflow.com/questions/32347937
复制相似问题