
javascript求和
我要求得多个框中别人输入的值的总合。怎么做?我把每个框的ID都写成了zj1zj2zj3这样。。。当然。这里要求的数量肯定不会只是3个。。下面我这样写。为什么不能得到结果?...
我要求得多个框中别人输入的值的总合。怎么做?
我把每个框的ID都写成了zj1 zj2 zj3 这样。。。当然。这里要求的数量肯定不会只是3个。。
下面我这样写。为什么不能得到结果?
theall=0;
allprice=document.getElementById("hj").value; //下一行的NUM是求和的总个数。。
for(i=1;i<=num;i++){
theall+=document.getElementById("zj"+i).value;
theall=theall;
alert(theall);
}
allprice=theall; //这里是把结果赋给下一个框中。。。
parseFloat parseInt都试过了。不行。。。
应该是这里哪出了错吧? 展开
我把每个框的ID都写成了zj1 zj2 zj3 这样。。。当然。这里要求的数量肯定不会只是3个。。
下面我这样写。为什么不能得到结果?
theall=0;
allprice=document.getElementById("hj").value; //下一行的NUM是求和的总个数。。
for(i=1;i<=num;i++){
theall+=document.getElementById("zj"+i).value;
theall=theall;
alert(theall);
}
allprice=theall; //这里是把结果赋给下一个框中。。。
parseFloat parseInt都试过了。不行。。。
应该是这里哪出了错吧? 展开
展开全部
把theall+=document.getElementById("zj"+i).value; 改成
if(!isNaN(parseInt(document.getElementById("zj"+i).value,10)))
theall+=parseInt(document.getElementById("zj"+i).value,10);
试试.
因为如果不是数字型的(估计有很多空的),用类型转换了就是NaN了,还是不能加,需要过滤掉
if(!isNaN(parseInt(document.getElementById("zj"+i).value,10)))
theall+=parseInt(document.getElementById("zj"+i).value,10);
试试.
因为如果不是数字型的(估计有很多空的),用类型转换了就是NaN了,还是不能加,需要过滤掉
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
看看这个 ,是不是这意思,怎么那么麻烦
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>javascript基本语法</title>
<script language="javascript">
/*
*购物车的计算方式
*/
function cal(){
var num=parseInt(document.myform.num.value);
var price=parseFloat(document.myform.price.value);
var cost=parseFloat(document.myform.cost.value);
var amount=num*price+cost;
document.myform.amount.value=amount;
}
</script>
</head>
<body>
<form action="" method="post" name="myform">
<table width="533" height="133" border="1" bgcolor="#ffc8c8" align="center" cellpadding="0" cellspacing="0">
<tr>
<th colspan="5">简易购物车</th>
</tr>
<tr align="center">
<td width="92">商品名称</td>
<td width="100">数量(件)</td>
<td width="110">单价(美元)</td>
<td width="101">运费(美元)</td>
<td width="130">
<input name="button2" type="button" value="合计" onclick="cal()">
</td>
</tr>
<tr align="center">
<td>跑跑道具</td>
<td><input name="num" type="text" size="10" /></td>
<td><input type="text" name="price" size="10" /></td>
<td><input type="text" name="cost" size="10" /></td>
<td><input type="text" name="amount" size="10" /></td>
</tr>
</table>
</form>
</body>
</html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>javascript基本语法</title>
<script language="javascript">
/*
*购物车的计算方式
*/
function cal(){
var num=parseInt(document.myform.num.value);
var price=parseFloat(document.myform.price.value);
var cost=parseFloat(document.myform.cost.value);
var amount=num*price+cost;
document.myform.amount.value=amount;
}
</script>
</head>
<body>
<form action="" method="post" name="myform">
<table width="533" height="133" border="1" bgcolor="#ffc8c8" align="center" cellpadding="0" cellspacing="0">
<tr>
<th colspan="5">简易购物车</th>
</tr>
<tr align="center">
<td width="92">商品名称</td>
<td width="100">数量(件)</td>
<td width="110">单价(美元)</td>
<td width="101">运费(美元)</td>
<td width="130">
<input name="button2" type="button" value="合计" onclick="cal()">
</td>
</tr>
<tr align="center">
<td>跑跑道具</td>
<td><input name="num" type="text" size="10" /></td>
<td><input type="text" name="price" size="10" /></td>
<td><input type="text" name="cost" size="10" /></td>
<td><input type="text" name="amount" size="10" /></td>
</tr>
</table>
</form>
</body>
</html>
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
老大啊,我先给你指个问题,你的textbox里面输的string ,number加string加出来你说是什么?,parseFloat()把先
<BODY>
<input type="text" id="txt1" value="2"/>
<input type="text" id="txt2" value="2"/>
<input type="text" id="txt3" value="2"/>
</BODY>
<script language="JavaScript">
var num = 0
for(var i=1;i<=3;i++){
num += parseFloat(document.getElementById('txt'+i).value);
}
alert(num)
</script>
我晕,我参考你的写了一个没啥问题。
你把你的程序调试一下吧,看看报什么错
<BODY>
<input type="text" id="txt1" value="2"/>
<input type="text" id="txt2" value="2"/>
<input type="text" id="txt3" value="2"/>
</BODY>
<script language="JavaScript">
var num = 0
for(var i=1;i<=3;i++){
num += parseFloat(document.getElementById('txt'+i).value);
}
alert(num)
</script>
我晕,我参考你的写了一个没啥问题。
你把你的程序调试一下吧,看看报什么错
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
楼上说的对。补充一下,你可以取得所有元素,在找出名字有规则的那些
参考一下
var alltextlen = form.elements.length;
var str='';
var m=0;
for(i=0;i<alltextlen;i++){
if(form.elements[i].type=='text'){
textname[m] = form.elements[i].name;
textvalue[m] = form.elements[i].value;
str1+='&'+textname[m]+'='+textvalue[m];
m++;
}
}
参考一下
var alltextlen = form.elements.length;
var str='';
var m=0;
for(i=0;i<alltextlen;i++){
if(form.elements[i].type=='text'){
textname[m] = form.elements[i].name;
textvalue[m] = form.elements[i].value;
str1+='&'+textname[m]+'='+textvalue[m];
m++;
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
num=0
t=form1.elements.length //form1 是表单的名字!
for(i=1;i<t;i++)
{
if(document.form1.elements[i].type=="text" && document.form1.elements[i].name=="zj"+i) // type 文本框的类型是 text
{
num=parseInt(document.form1.elements[i].value)+num
}
}
// 最后 num 结果就是文本框的和。
t=form1.elements.length //form1 是表单的名字!
for(i=1;i<t;i++)
{
if(document.form1.elements[i].type=="text" && document.form1.elements[i].name=="zj"+i) // type 文本框的类型是 text
{
num=parseInt(document.form1.elements[i].value)+num
}
}
// 最后 num 结果就是文本框的和。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询