netscape时,onkeypress的问题,解决即结贴,急!

wzqinyfwu 2005-04-06 03:26:43
判断text1的onkeypress事件,只允许输入数字,现在用ie时正常,用netscape时,虽然text1只能输入数字了,但如果页面上还有其它输入框,在改变text1值后其它输入框也只能输入数字了,而我只要求text1输入数字,其它输入框可以输入字符的,下面的我的脚本,高手们帮帮忙!特别急!谢谢!

<asp:TextBox id="text1" runat="server" onkeypress="FilterKey(this)">

function FilterKey(objValue)
{
var IE6 = ((document.all)&&(navigator.appVersion.indexOf('MSIE')!=-1)) ? true : false;
if (IE6 == true) //如果是IE
{
var kcode = window.event.keyCode;
if(kcode >= 48 /* '0'*/ && kcode <= 57 /* '9'*/ ){
return;
}
window.event.returnValue = false;
}
else //netscape时
{
document.onkeypress = keyPress;
}
}

function keyPress(e)
{
var kcode = e.which;
if((kcode >= 48 /* '0'*/ && kcode <= 57 /* '9'*/ ) || (kcode==0) || (kcode==8))
{
return;
}
return false;
}
...全文
93 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
wzqinyfwu 2005-04-07
  • 打赏
  • 举报
回复
to Forbes:
照你的方法试了一下,只有在输入完以后才判断,比如我输入3f5ggh8,只有在光标离开时才清空了输入框中的内容,而我要求的是在输入时就判断,如果不是数字,就不能输入。

另外,只所以出现整个页面的输入框都只能输入数字的情况,
是因为document.onkeypress = keyPress的原因,我改成objValue.onkeypress = keyPress,其它输入框倒是正常了,但是我要判断的输入只有在输入第二个字符时判断才生效,因为 objValue.onkeypress = keyPress在输入第一个字符后才执行的,怎么办呢?
Forbes 2005-04-07
  • 打赏
  • 举报
回复
<input type="text" onkeypress="return keydown(event)"/>
<script language="JavaScript">
<!--
function keydown(e) {
e = e || window.event;
var code = e.which || e.keyCode;
return(code>=48&&code<=57)
}
//-->
</script>
wzqinyfwu 2005-04-07
  • 打赏
  • 举报
回复
高手们都哪里去了?
wzqinyfwu 2005-04-07
  • 打赏
  • 举报
回复
刚才看错了,问题解决了,呵呵,谢谢Forbes
wzqinyfwu 2005-04-06
  • 打赏
  • 举报
回复
TO myvicy
得到IE的值这部分是没问题的,重点看不是IE时候的代码
myvicy 2005-04-06
  • 打赏
  • 举报
回复
得到IE6的值后,先输出看看它是不是得到了一个正确的值
alert(IE6);

87,909

社区成员

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

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