【问题标题】:Explanation input only numeric解释只输入数字
【发布时间】:2014-12-09 08:02:47
【问题描述】:

我是 html 和 javascript 的新手,来自 C#。 现在我创建了一个输入字段,它必须只接受数字输入。像这样:

<input name="numemp" type="text" id="numemp" value="<%=numberofemp%>" maxlength="10" onkeypress="return isNumberKey(event)" />

我发现了这个 javascript:

function isNumberKey(evt) 
{
    var charCode = (evt.which) ? evt.which : event.keyCode;
    if (charCode != 46 && charCode > 31 && (charCode < 48 || charCode > 57)) 
    {
        return false;
    }
    else 
    {
        return true;
    }      
}

这对我来说不清楚,我知道代码检查按下的键是数字。如果它是数字,则返回 true。但是代码在哪里忽略了输入?发生这种情况时,我只看到返回 false...

【问题讨论】:

  • return false; 表示忽略此键输入。
  • In javascript return false 表示不会调用事件的默认操作(在这种情况下 - 将字符写入输入)。
  • 你可以查看这个stackoverflow.com/questions/1639338/…
  • 谢谢,这样更清楚了

标签: javascript html


【解决方案1】:

是的,它确实不会忽略输入它只是说它是否是数字,我认为您不需要使用此功能:

你只需要HTML5模式就可以做到pattern="[0-9]+"它会被自动管理:

<input name="numemp" type="text" id="numemp" value="<%=numberofemp%>" maxlength="10" pattern="[0-9]+" />

查看HTML pattern Attribute 了解更多信息。

【讨论】:

  • 这没有回答问题,该问题要求对某些代码进行解释。它可以作为评论发布。
  • @JukkaK.Korpela 是的,你是对的,但我只是认为这会是解决这个问题的更好方法
猜你喜欢
  • 2015-05-30
  • 1970-01-01
  • 2018-06-26
  • 1970-01-01
  • 1970-01-01
  • 2018-10-27
  • 2014-09-14
  • 2012-10-08
  • 2014-06-07
相关资源
最近更新 更多