请问错在那儿呢?

frankrenping 2010-10-06 05:35:51
简单的问题让我看不到,郁闷

<script language="javascript">
function CheckSum()
{
var sum=0;
var totalprice;
for(var i=0;i < document.getElementById["choce"].length;i++);
{
if(document.getElementById["choce"][i].checked);
{
sum = sum + parseInt(document.getElementById["choce"][i].value);
}
}
totalprice.innerText = sum +"元";
}
</script>

<form action="" method="post" name="form1">
<table><tr><td>
<input type="checkbox" id="choce" value="10" onClick="CheckSum()">铅笔 10元</td></tr>
<tr><td><input type="checkbox" id="choce" value="30" onClick="CheckSum()">篮球 30元</td></tr>
<tr><td><input type="checkbox" id="choce" value="40" onClick="CheckSum()">足球 40元</td></tr>
<tr><td><input type="checkbox" id="choce" value="50" onClick="CheckSum()">乒乓球拍 50元</td></tr>
<tr><td><input type="button" name="submit" value="submit" id="submit">
<tr><td>sum price is:<span id="totalprice">0yuan</span> </td></tr>
</table></form>

报错:for(var i=0;i < document.getElementById["choce"].length;i++);为空或不是对象
...全文
79 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
rjzou2006 2010-10-07
  • 打赏
  • 举报
回复

把id换成name
getElementById换成getElementByTagName
  • 打赏
  • 举报
回复
id只能是唯一的,你里面太多相同的id了,把id换成name,把getElementById换成getElementByTagName
Sillen 2010-10-06
  • 打赏
  • 举报
回复
顶5楼的
Sillen 2010-10-06
  • 打赏
  • 举报
回复
for(var i=0;i < document.getElementsByName["choce"].length;i++);
lihaoran8577 2010-10-06
  • 打赏
  • 举报
回复

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
</HEAD>

<BODY>
<script language="javascript">
function CheckSum()
{
var sum=0;
var td = document.getElementById("totalprice");
var box=document.getElementsByName("choce");

for(var i=0;i<box.length;i++)
{
if(box[i].checked)
{
sum = sum + parseInt(box[i].value);
//alert(sum);
}
}
td.innerText = sum +"元";
}
</script>

<form action="" method="post" name="form1">
<table><tr><td>
<input type="checkbox" name="choce" value="10" onClick="CheckSum()">铅笔 10元</td></tr>
<tr><td><input type="checkbox" name="choce" value="30" onClick="CheckSum()">篮球 30元</td></tr>
<tr><td><input type="checkbox" name="choce" value="40" onClick="CheckSum()">足球 40元</td></tr>
<tr><td><input type="checkbox" name="choce" value="50" onClick="CheckSum()">乒乓球拍 50元</td></tr>
<tr><td><input type="button" name="submit" value="submit" id="submit">
<tr><td>sum price is:<span id="totalprice">0yuan</span> </td></tr>
</table></form>
</BODY>
</HTML>

frankrenping 2010-10-06
  • 打赏
  • 举报
回复
改成:
<script language="javascript">
function CheckSum()
{
var sum=0;
var totalprice;
for(var i=0;i < document.form1.elements["choce"].length;i++);
{
if(document.form1.elements["choce"][i].checked);
{
sum = sum + parseInt(document.form1.elements["choce"][i].value);
}
}
totalprice.innerText = sum +"元";
}
</script>

<form action="" method="post" name="form1">
<table><tr><td>
<input type="checkbox" name="choce" value="10" onClick="CheckSum()">铅笔 10元</td></tr>
<tr><td><input type="checkbox" name="choce" value="30" onClick="CheckSum()">篮球 30元</td></tr>
<tr><td><input type="checkbox" name="choce" value="40" onClick="CheckSum()">足球 40元</td></tr>
<tr><td><input type="checkbox" name="choce" value="50" onClick="CheckSum()">乒乓球拍 50元</td></tr>
<tr><td><input type="button" name="submit" value="submit" id="submit">
<tr><td>sum price is:<span id="totalprice">0yuan</span> </td></tr>
</table></form>
同样保错:
if(document.form1.elements["choce"][i].checked);为空或不是对象
pxynet 2010-10-06
  • 打赏
  • 举报
回复
getElementById换成getElementByTagName
pxynet 2010-10-06
  • 打赏
  • 举报
回复
把id换成name
zell419 2010-10-06
  • 打赏
  • 举报
回复
标签的ID是唯一的。
规范代码。

87,993

社区成员

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

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