如何排除IE11上的输入数字?

时间:2015-12-10 21:07:28

标签: asp.net internet-explorer-11

在IE 11之前,如果您不想输入字符,可以在键码中加零。

<asp:TextBox id="TextBox1" runat="server" onkeypress="ValidateText();">    
</asp:TextBox>

function ValidateText() {
    if (!((window.event.keyCode < 48 || window.event.keyCode > 57) && window.event.keyCode != 46)) {
        window.event.keyCode = 0;
    }

这适用于IE 10,但不适用于IE 11。

1 个答案:

答案 0 :(得分:0)

使用window.event是在事件处理程序中获取事件的过时方式。最好将事件传递给处理程序,如下所示:

onkeypress="return ValidateText(event);"

请注意return;这会有所帮助。

在您的事件处理程序中,您现在将事件作为参数传入。另外,要知道从事件处理程序返回false会取消该事件。

function ValidateText(event) {
    return event.keyCode < 48 || event.keyCode > 57 || event.keyCode === 46;
}

现在我们可以返回按下的键是否不是数字。