此代码在IE11中产生无效响应:
<form onsubmit="alert('Valid Number!');return false;">
<input type="number" step="0.01" value="9583.89" min="0" max="10000" />
<input type="submit" />
</form>
还有一个JSFiddle:https://jsfiddle.net/pvsojuhs/
预期输出为"有效数字!",但似乎IE11认为这是一个无效的数字。
这个问题有解决方法吗?其他数字如"9583.19"工作正常。
其他一些测试:
- 8192.12 (无效)
- 8192.13 (无效)
- 8192.14 (无效)
- 8192.15(有效)
- 8192.20(有效)
- 8192.21 (无效)
IE11中对我来说效果很好,但是有几点需要注意。
IE 不会阻止您提交表单,除非您输入它不接受的值。如果输入的任何值在小数点后超过 2 位,您都会收到错误。例如 100.123
会失败。
此外,您不会在IE https://caniuse.com/#search=number%20input%20type 中看到步进箭头,并且(截至本答案时)我认为应该更新此站点以表明IE遭受脚注#2的影响,因为它不支持/强制执行最小值/最大值。因此,IE将接受超出您范围的值,例如-37.5
和347000
。