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);

解决方案 »

  1.   

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

  2.   

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

  3.   

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

  4.   

    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);
      

  5.   

    光标定位在出错的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;
      } 
      

  6.   

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

  7.   

    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>
      

  8.   

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

  9.   

    <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>