为什么JavaScript中的for循环导致我的网页冻结?

时间:2016-07-16 04:15:47

标签: javascript for-loop freeze

我目前正在开发一个项目,如果用户输入的值不是数字,我需要弹出一个警告框。我创建了一个for循环来执行此操作并且它可以工作,但是每当我输入不是数字的东西时,我的网页就会冻结,我必须关闭它。我无法弄清楚我做错了什么。这是我的代码。

 var Y=1

  for(var i = 0; i < Input.length; i++)
  {
    if(isNaN(Input.charAt(i)))
    {
      alert("Parameter is Not A Number");
      Y = 0;
    }
  }

1 个答案:

答案 0 :(得分:0)

如果您使用的是HTML5,则只需指定

即可将用户输入限制为数值
<input type="number">

如果您想坚持警告框和内容

,请尝试此操作
<input type="input" id="edit1"/>

<强>的js

$(document).ready(function(){
    $('[id^=edit]').keypress(validateNumber);
});

var Y=1

function validateNumber(event) {
 var key = window.event ? event.keyCode : event.which;
 if ( key < 48 || key > 57 ) {
      alert("Parameter is Not A Number");
      Y = 0;
    }
    else return true;
};