<input type =“number”/>在IE10中不起作用

时间:2012-12-19 15:31:35

标签: html5

虽然我很确定这是在昨天或前一天工作,例如,<input type="number" min="0" max="50" step="10" value="0" />不再适用于IE10。我用http://ie.microsoft.com/testdrive/HTML5/Forms/Default.html测试了我的浏览器,它不再适用了。还有谁有相同的问题吗?或者,它从未奏效吗?

6 个答案:

答案 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上minmaxstep的一些简单测试: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中。

https://connect.microsoft.com/IE/feedback/details/850187/html5-constraint-validation-is-broken-in-ie11-for-input-type-number

就像我开始再次喜欢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的

API https://api.jqueryui.com/spinner/#event-change