通过控制按键来控制编辑框控件的小BUG
先来发个方法,功能就是通过控制键盘的keyCode来返回布尔类型
<script type="text/javascript">
function CheckInts(evt)
{
if((evt.keyCode >= 96 && evt.keyCode <= 105) ||
(evt.keyCode >= 48 && evt.keyCode <= 57) ||
evt.keyCode == 8 || evt.keyCode == 37 ||
evt.keyCode == 38 || evt.keyCode == 39 ||
evt.keyCode == 40 || evt.keyCode == 13 || evt.keyCode == 46)
{
return true;
}
else
{
return false;
}
}
</script>
然后在编辑框中通过onkeydown="return CheckInts(event)"即可以控制是否能输入相应的字符,本以为这就可以不会在编辑框中输入其他非法字符了,结果在测试过程中碰到害人的-微软输入法,仔细观察微软输入法和其他的输入法在录入字符的过程中会有区别,最终取消了这种控制输入的方法,直接在控件上做正则验证。
不过后来仔细想了,如果按原设计,到了客户那里也行不通。
写这个小文是让大家如果有更好的方法可以提出来,没有的话还是别白费功夫,不要跟我一样耍小聪明以为控制了输入就可以不用做验证。
<script type="text/javascript">
function CheckInts(evt)
{
if((evt.keyCode >= 96 && evt.keyCode <= 105) ||
(evt.keyCode >= 48 && evt.keyCode <= 57) ||
evt.keyCode == 8 || evt.keyCode == 37 ||
evt.keyCode == 38 || evt.keyCode == 39 ||
evt.keyCode == 40 || evt.keyCode == 13 || evt.keyCode == 46)
{
return true;
}
else
{
return false;
}
}
</script>然后在编辑框中通过onkeydown="return CheckInts(event)"即可以控制是否能输入相应的字符,本以为这就可以不会在编辑框中输入其他非法字符了,结果在测试过程中碰到害人的-微软输入法,仔细观察微软输入法和其他的输入法在录入字符的过程中会有区别,最终取消了这种控制输入的方法,直接在控件上做正则验证。
不过后来仔细想了,如果按原设计,到了客户那里也行不通。
写这个小文是让大家如果有更好的方法可以提出来,没有的话还是别白费功夫,不要跟我一样耍小聪明以为控制了输入就可以不用做验证。


浙公网安备 33010602011771号