动态赋值的问题,请进

jsidiot 2002-04-10 10:49:32
对从name1,name2,name3....name20怎么循环的对这几个text进行判断
是否是数字,并且累加的值等于num的值,我现在不知道怎么用javascript来表示
name1,name2,并且如何对这几个值进行累加,
我用eval("slinput"+i+"=document.firstform.sl"+i+".value");
觉得还是不对
请指教
...全文
35 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
jsidiot 2002-04-11
  • 打赏
  • 举报
回复
结了
xg_delayth 2002-04-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;
}

希偌 2002-04-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);
希偌 2002-04-10
  • 打赏
  • 举报
回复
eval("document.formname.textname"+i).focus();
jsidiot 2002-04-10
  • 打赏
  • 举报
回复
还有我判断出现数值错误后.我想将光标定位在出错的text框,请问如何解决呢.
this.focus();好像不行,
然后我用eval("document.formname.textname"+i+".focus()")
也不行
jsidiot 2002-04-10
  • 打赏
  • 举报
回复
怎么不对阿
最后的alert(sum)
怎么出来一个NaN?
text里面的值不能相加?
jsidiot 2002-04-10
  • 打赏
  • 举报
回复
谢谢老大
我测试一下
karma 2002-04-10
  • 打赏
  • 举报
回复
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);
qiushuiwuhen 2002-04-10
  • 打赏
  • 举报
回复
<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>
jsidiot 2002-04-10
  • 打赏
  • 举报
回复
to:xg_delayth(铁鹰)
老大你的这个太长了把.我头大了,等我试验一下把
karma 2002-04-10
  • 打赏
  • 举报
回复
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>
jsidiot 2002-04-10
  • 打赏
  • 举报
回复
to:beyond_xiruo(希偌)
你的alert(num.toString)结果出现的值是function toString([native code])
不正确

87,922

社区成员

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

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