Input type="number" - 在 IE11 或 Edge 中不起作用
Posted
技术标签:
【中文标题】Input type="number" - 在 IE11 或 Edge 中不起作用【英文标题】:Input type="number" - Not working in IE11 or Edge 【发布时间】:2018-06-14 10:58:59 【问题描述】:所以我很清楚之前可能已经问过这个问题,但是在查看了很多关于这个问题的线程后,似乎没有明确的答案。
https://jsfiddle.net/hbruun/qmd0vgr8/
<div class="mt10"><input type="number" required="true" min="6.4" max="9.0" step="0.1" value="6.9" /></div>
上面的 jsfiddle(不是我的)是一个示例说明 input type="number" 如何在 IE11 和 Edge 中完全没用。不出所料,它在 chrome 中按预期工作,但我需要修复来替换它,以防止用户输入除数字字符以外的任何内容。
【问题讨论】:
创建一个下拉列表,唯一的选择是您希望他们使用的数字,或者使用正则表达式来验证它是输入后的数字。 “完全没用”不是对问题的技术描述。什么不起作用?此外,<input>
标记不使用或不需要结束斜杠,而且从来没有。
@Rob - 对不起,我的意思是 type="number" 在 IE 中没有任何作用。与 Chrome 相比,它会将我的输入限制为数字字符
【参考方案1】:
尝试将0设置为最小值,神奇的是它开始工作,但只是在step的范围内,所以,如果step=0.1 -> 1.1有效,1.12无效,当step=0.01时1.12有效有效,1.001 不会,依此类推。最小值将在代码中检查...
【讨论】:
【参考方案2】:<label>Granularity: :<span id="outgranularity">6.9</span><br/><input type="range" required="true" min="6.4" max="9.0" step="0.1" value="6.9" onchange="updateOutput(event)" /></label>
【讨论】:
这是做什么的?它如何回答这个问题?不要只是脱口而出代码。解释你自己! ***.com/help/how-to-answer @jj & Rob - 是的,我们都知道 IE 本身不会显示或验证数字输入字段上的输入。我建议你改用 range 类型,或者如果你想支持 IE9/10 以及使用 jquery forms 插件。 type="range" 不能只输入数字。甚至它在屏幕上创建了一个很奇怪的栏。以上是关于Input type="number" - 在 IE11 或 Edge 中不起作用的主要内容,如果未能解决你的问题,请参考以下文章
如何从 Opera 中的 input[type="number"] 中删除箭头 [重复]
如何获取 <input type="number"> 字段的原始值?