两个js方法体一样,传的参数不同的问题

macroq 2008-07-04 08:58:05
//可以限制字母等的输入,但唯独不能限制小数点,不过输入小数点会出现脚本错误
function limit_num(){
if(window.event.keyCode<48||window.event.keyCode>57){
window.event.returnValue=false;
}
}
//可以限制除数字0-9的所有其它字符(包括小数点)的输入
function limit_num2(obj){
if(window.event.keyCode<48||window.event.keyCode>57){
window.event.returnValue=false;
}
}
上面两个方法,只是一个带参数,一个不带参数,方法内容是一样的,但执行出来的效果不同,请问大家是什么原因?
...全文
337 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
wj2002160416 2008-07-04
  • 打赏
  • 举报
回复
这个判断本来就有问题,通过判断键盘输入来判断,如果有底层语言改变了这些参数,就会出错.
wdbjsh 2008-07-04
  • 打赏
  • 举报
回复
测试过了,貌似两个的反应是一样的。。。

你这个验证有很严重的问题:我用拼音++可以直接输入汉字。。。它不会排除
Fus371x 2008-07-04
  • 打赏
  • 举报
回复
第二个方法体都没用到参数obj,那还要参数干嘛......
这两个方法是一样的.
macroq 2008-07-04
  • 打赏
  • 举报
回复
onkeypress="limit_num();
onkeypress="limit_num2(this);

<input class="input" type="text" style="background-color:#c0c0c0" name="txtLastRunNo" size="8" maxlength="8" onkeypress="limit_num();" value="<%=flowgroup.getLastRunNo()%>"> <input type="hidden" name="lastUpdatedDtStr" value="<%=request.getParameter("lastUpdatedDtStr")==null?"":request.getParameter("lastUpdatedDtStr")%>">
wdbjsh 2008-07-04
  • 打赏
  • 举报
回复
恐怕是跟调用方式有关系吧。。你把调用的语句也发出来。
macroq 2008-07-04
  • 打赏
  • 举报
回复
主要是在对小数点的处理上有区别:

第1个可以限制字母等的输入,但唯独不能限制小数点,不过输入小数点会出现脚本错误

第2个可以限制除数字0-9的所有其它字符(包括小数点)的输入
ZKCUN 2008-07-04
  • 打赏
  • 举报
回复
有什么不同?
返回值不都是 window.event.returnValue=false; 吗?
mingxuan3000 2008-07-04
  • 打赏
  • 举报
回复
汗 。。。
macroq 2008-07-04
  • 打赏
  • 举报
回复
感谢大家,继续研究,结帖。
wdbjsh 2008-07-04
  • 打赏
  • 举报
回复
onblur
macroq 2008-07-04
  • 打赏
  • 举报
回复
这个有点没说清楚,
调用时只是用了一种,onkeypress="limit_num();"或者onkeypress="limit_num2(this);"。
那么如楼上几位所说,控制只输入数字0-9该如何写呢?

87,907

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧