CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Web 开发 >  JavaScript

关于onChange的问题,在线等,谢谢!

楼主lovelygirl0316(求知的女孩)2004-09-01 23:42:37 在 Web 开发 / JavaScript 提问

<!doctype   html   public   "-//w3c//dtd   html   4.0   transitional//en">  
  <html>  
  <title>文本对象事件</title>  
  <meta   content="text/html;charset=gb2312"   http-equiv=Content-Type>  
  <head>  
  <script   language=javascript>  
        function   isNum(inputStr)  
        {  
              for(var   i=0;i<inputStr.length;i++)  
              {  
                    var   oneChar=inputStr.substring(i,i+1)  
                    if(oneChar<"0"||oneChar>"9")  
                    {  
                          alert("请你只输入数字")  
                          return   false  
                    }  
              }  
              return   true  
        }  
        function   checkIt(form)  
        {  
              inputStr=form.numeric.value  
              if(isNum(inputStr)==true)  
              {}  
              else  
              {  
                    form.numeric.focus()  
                    form.numeric.select()  
              }  
        }  
  </script>  
   
  <meta   content="mshtml   5.00.2614.3500"   name=generator>  
  </head>  
  <body>  
  <center>  
  <form>  
  请输入数字:  
  <input   name="numeric"   onChange=checkIt(this.form)><p>  
  </form>  
  </center>  
  </body>  
  </html>  
  为什么onChange=checkIt(this.form)激发不了事件? 问题点数:20、回复次数:5Top

1 楼mjpclab(有只大猫猫 mjpclab.net)回复于 2004-09-02 00:17:51 得分 0

function   isNum(inputStr)  
        {  
              for(var   i=0;i<inputStr.length;i++)  
              {  
                    var   oneChar=inputStr.substring(i,i+1)  
                    if(oneChar<0   ||   oneChar>9)             //不要加引号,否则是字符串比较,即按ascii码比较,数字字符永远小于字母  
                    {  
                          alert("请你只输入数字")  
                          return   false  
                    }  
              }  
              return   true  
        }  
        function   checkIt(form)  
        {  
              var   inputStr=form.numeric.value         //建议加var   否则它是全局变量  
              if(isNum(inputStr)==true)  
              {}  
              else  
              {  
                    form.numeric.focus()  
                    form.numeric.select()  
              }  
        }  
  Top

2 楼mjpclab(有只大猫猫 mjpclab.net)回复于 2004-09-02 00:21:09 得分 0

改进一下,上面的仍不行  
  function   isNum(inputStr)  
        {  
              for(var   i=0;i<inputStr.length;i++)  
              {  
                    var   oneChar=inputStr.substring(i,i+1)  
                    if(isNaN(Number(oneChar)))  
  .......Top

3 楼mjpclab(有只大猫猫 mjpclab.net)回复于 2004-09-02 00:26:59 得分 0

最后升华:你的函数判断是多余,判断是否是数字的方法:  
  !isNaN(Number(字符串))  
   
  js中   Number(string)   可以把   string转为数字型,如果转换失败,返回NaN,判断某个值是否为NaN用isNaN()函数,Top

4 楼lovelygirl0316(求知的女孩)回复于 2004-09-02 01:02:34 得分 0

用这个方法不行呀!Top

5 楼xiaozx(老德)回复于 2004-09-02 01:29:01 得分 20

function   checkIt(form)  
        {  
              inputStr=form.numeric.value  
              if(isNum(inputStr)==true)  
              {}  
              else  
              {  
                    form.numeric.focus()  
                    form.numeric.select()  
                    return   false       <----加上  
              }  
        }  
   
   
  <form>  
  请输入数字:  
  <input   name="numeric"   onChange=checkIt(this.form)><p>  
  </form>  
  改成  
  <form   onsubmit="return   checkIt(this)">  
  请输入数字:  
  <input   name="numeric"><p>  
  </form>  
  Top

相关问题

  • onchange
  • 列表框的onchange事件!急,在线等
  • 关于select和onchange的问题,在线等待解答,急
  • 高分求教:mshtml控件如何激发select控件的onchange()事件的代码的问题!在线等候!!
  • ●●●奇怪,怎么我的下拉框始终得不到值啊??大虾帮忙看看....在线等...(用的是onchange事件)
  • 怎样在程序里调用执行combobox的onchange事件
  • ●想在text文本框中把","换成"|"?但onChange没效果?
  • onchange事件
  • onchange问题
  • js onchange问题

关键词

得分解答快速导航

  • 帖主:lovelygirl0316
  • xiaozx

相关链接

  • Web开发类图书

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo