CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
花落谁家,你作主! 盛大widget设计大赛英雄榜
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Web 开发 >  JavaScript

动态赋值的问题,请进

楼主xiaoshi(累)2002-04-10 10:49:32 在 Web 开发 / JavaScript 提问

对从name1,name2,name3....name20怎么循环的对这几个text进行判断  
  是否是数字,并且累加的值等于num的值,我现在不知道怎么用javascript来表示  
  name1,name2,并且如何对这几个值进行累加,  
  我用eval("slinput"+i+"=document.firstform.sl"+i+".value");  
  觉得还是不对  
  请指教 问题点数:40、回复次数:12Top

1 楼karma(无为MS MVP)回复于 2002-04-10 11:20:59 得分 0

name1,name2,name3....name20是什么玩意?TEXT框名字?  
   
  var   sum   =   0;  
  var   sValue;  
  for   (var   i=1;   i   <=20;   i++)  
  {  
    try  
    {  
      eval("sValue   =   document.formName.name"+i+".value");  
      if   (!isNaN(sValue))  
        sum   +=   parseInt(sValue);  
    }  
    catch   (e){}  
  }  
  alert(sum);Top

2 楼xiaoshi(累)回复于 2002-04-10 11:38:08 得分 0

谢谢老大  
  我测试一下Top

3 楼xiaoshi(累)回复于 2002-04-10 11:54:53 得分 0

怎么不对阿  
  最后的alert(sum)  
  怎么出来一个NaN?  
  text里面的值不能相加?  
  Top

4 楼xiaoshi(累)回复于 2002-04-10 12:03:34 得分 0

还有我判断出现数值错误后.我想将光标定位在出错的text框,请问如何解决呢.  
  this.focus();好像不行,  
  然后我用eval("document.formname.textname"+i+".focus()")  
  也不行Top

5 楼beyond_xiruo(CorruptionException)回复于 2002-04-10 12:07:03 得分 0

eval("document.formname.textname"+i).focus();Top

6 楼beyond_xiruo(CorruptionException)回复于 2002-04-10 12:09:15 得分 10

var   sum   =   0;  
  var   sValue;  
  for   (var   i=1;   i   <=20;   i++)  
  {  
    try  
    {  
      sValue   =   eval("document.formName.name"+i).value;  
      if   (!isNaN(sValue))  
        sum   +=   parseInt(sValue);  
    }  
    catch   (e){}  
  }  
  alert(sum.toString);  
  Top

7 楼xg_delayth(铁鹰)回复于 2002-04-10 12:27:39 得分 10

光标定位在出错的text框  
  this.select()  
  text中的值如果不是数值型相加后只能得到字符串,在相加前要判断一下可用  
  以下函数  
  //---     方法名:   boolean   function   judgeStringType(AJudgeString,AItsType)  
  //---     功能:   判断输入字符串:AJudgeString是否是特定的类型.不能判断负数,如为负数相关返回false    
  //---     返回:   是返回true,不是返回false  
  //---                 AItsType   =   "iNChar":   判断数字,"iCChar"   :   判断中文,  
  //---                                       "iNEChar"   :   数字和西文字符,"iNOChar"   :   "判断是否是小数"  
  //--- 创建日期:               2001-05-10 最近更新日期:       2001-11-05  
  //---   创建程序员: xg_delayth 最近更新程序员:   xg_delayth  
  //---   维护程序员:           xg_delayth  
  //---   举例:judgeStringType("-76.86","iNOChar")   返回true  
      function   judgeStringType(AJudgeString,AItsType){  
          var   tempCode;  
          var   i;  
          try{  
              if   (AJudgeString.length==0)   return   false;  
          }   catch(e){          
            return   false;  
        }  
          for   (i=0;i<AJudgeString.length;i++){  
              tempCode   =   AJudgeString.charCodeAt(i)   ;  
              switch(AItsType){  
                  case   "iNChar":  
                      if   ((tempCode<48)   ||   (tempCode>57))   return   false;  
                      break;  
                  case   "iNOChar":  
                      if   (((tempCode<48)   &&   tempCode!=46   &&   tempCode!=45)   ||   (tempCode>57))   return   false;  
                      if   (45==tempCode   &&   0!=i)  
                          return   false;  
                      if   ((AJudgeString.charCodeAt(0)==46)   ||   (AJudgeString.charCodeAt(AJudgeString.length-1)==46))  
                          return   false;  
                      break   ;  
                  case   "iEChar":  
                      if(!((tempCode>=97   &&   tempCode<=122)   ||   (tempCode>=65   &&   tempCode<=90)))   return   false;  
                      break;  
                  case   "iCChar":  
                      if(tempCode<=127)   return   false;  
                      break;  
                  case   "iNEChar":                
                      if   (!((tempCode>=97   &&   tempCode<=122)   ||   (tempCode>=65   &&   tempCode<=90)   ||  
                          (tempCode>=48   &&   tempCode<=57)))   return   false   ;  
                      break   ;  
                  default:  
                      return   false;  
              }  
          }    
          return   true;  
      }    
   
  Top

8 楼xiaoshi(累)回复于 2002-04-10 13:51:22 得分 0

to:beyond_xiruo(希偌)  
  你的alert(num.toString)结果出现的值是function   toString([native   code])    
  不正确Top

9 楼karma(无为MS MVP)回复于 2002-04-10 14:03:01 得分 20

try  
   
   
  <script   language=javascript>  
  function   getValue()  
  {  
  var   sum   =   0;  
  var   sValue;  
  for   (var   i=1;   i   <=20;   i++)  
  {  
    try  
    {  
      eval("sValue   =   document.formName.name"+i+".value");  
      sValue   =   sValue.replace(/^\s+|\s+$/g,"");  
      if   (sValue.length   >   0   &&   !isNaN(sValue))  
        sum   +=   parseInt(sValue);  
    }  
    catch   (e){}  
  }  
  alert(sum);  
  }  
  </script>  
  <form   name="formName">  
  <input   name="name1"><input   name="name2"><input   name="name3"><input   name="name4">  
  <input   name="name5"><input   name="name6"><input   name="name7"><input   name="name8">  
  <input   name="name9"><input   name="name10"><input   name="name11"><input   name="name12">  
  <input   name="name13"><input   name="name14"><input   name="name15"><input   name="name16">  
  <input   name="name17"><input   name="name18"><input   name="name19"><input   name="name20">  
   
  <input   type="button"   value="get   value"   onclick="getValue()">  
  </form>Top

10 楼xiaoshi(累)回复于 2002-04-10 14:04:13 得分 0

to:xg_delayth(铁鹰)  
  老大你的这个太长了把.我头大了,等我试验一下把Top

11 楼qiushuiwuhen(秋水无恨)回复于 2002-04-10 14:13:51 得分 0

<form   name=firstform>  
  <input   name=name1   value=0>  
  <input   name=name2   value=0>  
  <input   name=name3   value=0>  
  <input   name=name4   value=0>  
  <input   name=name5   value=0>  
  <input   name=name6   value=0>  
  <input   name=name7   value=0>  
  <input   name=name8   value=0>  
  <input   name=name9   value=0>  
  <input   name=name10   value=0>  
  <input   name=name11   value=0>  
  <input   name=name12   value=0>  
  <input   name=name13   value=0>  
  <input   name=name14   value=0>  
  <input   name=name15   value=0>  
  <input   name=name16   value=0>  
  <input   name=name17   value=0>  
  <input   name=name18   value=0>  
  <input   name=name19   value=0>  
  <input   name=name20   value=0>  
  <input   type=button   onclick=chk()>  
  </form>  
  <script>  
  function   chk(){  
  num=10;  
  for(i=1;i<=20;i++){  
  num-=document.firstform("name"+i).value  
  if(isNaN(num)){alert("输入错误。");document.firstform("name"+i).select();return;}  
  }  
  if(num!=0)alert("累加和不对");else   alert("累加和正确");  
  }  
  </script>Top

12 楼xiaoshi(累)回复于 2002-04-11 11:40:01 得分 0

结了Top

相关问题

  • 请问怎么用vbs动态赋值下拉列表?
  • 请问如何给一个动态字符数组赋值
  • 请问如何动态给对象的某个属性赋值
  • 请问如何动态赋值到<%=strI%>price?
  • 请问如何动态赋值到<%=strI%>price?
  • 动态赋值的问题
  • FastReport动态赋值问题
  • 动态sql赋值问题
  • 数组循环赋值问题,请进......
  • 如何对动态生成的控件的属性进行赋值操作

关键词

  • svalue
  • sum
  • var

得分解答快速导航

  • 帖主:xiaoshi
  • beyond_xiruo
  • xg_delayth
  • karma

相关链接

  • Web开发类图书

广告也精彩

反馈

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