虽然我很确定这是在昨天或前一天工作,例如,<input type="number" min="0" max="50" step="10" value="0" />
不再适用于IE10。我用http://ie.microsoft.com/testdrive/HTML5/Forms/Default.html测试了我的浏览器,它不再适用了。还有谁有相同的问题吗?或者,它从未奏效吗?
答案 0 :(得分:19)
Internet Explorer 10支持数字输入。通过对their documentation的粗略检查以及尝试在浏览器中使用它,可以看出这一点。例如,尝试在数字输入中放置一个字母将导致在控件失去焦点时清除该值。
您还可以通过编程方式执行上述测试来检测对数字的支持:
// Create the element
var element = document.createElement( "input" );
// Give it the number property and invalid contents
element.type = "number";
element.value = "qwerty";
// Value should be empty
alert( element.value ? "Not Supported" : "Supported" );
运行此测试:http://jsfiddle.net/VAZwT/
很可能你将逐步增强的UI(微调器)与控件本身的支持等同起来。我已经看到这已经让一些人感到困惑。 某些浏览器通过其他控件增加了数字输入的补充,但这不是(据我所知)支持的要求。
jsfiddle上min
,max
和step
的一些简单测试:http://jsfiddle.net/sDVK4/show/
答案 1 :(得分:14)
请选择Sampson
以下的the answer,因为它更合适
IE不支持input type =“number”,但您可以使用polyfill使其正常工作。
以下是解决方案:http://html5please.com/#number
答案 2 :(得分:7)
IE10没有Number支持。资料来源:Can I use ... yet?
刚刚在我们的Windows 8测试机上验证过,IE10的试驾网站上没有数字微调器。
答案 3 :(得分:6)
Microsoft仍然使用输入类型=数字验证错误/错误,这也在IE11中。
就像我开始再次喜欢Internet Explorer一样......希望他们可以在IE12中解决这个问题,手指交叉
答案 4 :(得分:1)
这是我开发的解决方案,我认为它可以很好地运行,希望它对某人有帮助
function handleKeyPress(e) {
let newValue = e.target.value + e.key;
if (
// It is not a number nor a control key?
isNaN(newValue) &&
e.which != 8 && // backspace
e.which != 17 && // ctrl
newValue[0] != '-' || // minus
// It is not a negative value?
newValue[0] == '-' &&
isNaN(newValue.slice(1)))
e.preventDefault(); // Then don't write it!
}
Insert a number:
<input onKeyPress="handleKeyPress(event)"/>
答案 5 :(得分:1)
IE不支持输入type =“ number”,但您可以使用jQueryUI Spinner小部件。它非常易于使用,并且具有许多对开发人员友好的API。
jQuery-UI Spinner的演示: https://jqueryui.com/spinner/
jQuery-UI Spinner的