简单的问题让我看不到,郁闷<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++);为空或不是对象

解决方案 »

  1.   

    getElementById换成getElementByTagName
      

  2.   

    改成:
    <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);为空或不是对象
      

  3.   


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

  4.   

    for(var i=0;i < document.getElementsByName["choce"].length;i++);
      

  5.   


    把id换成name
    getElementById换成getElementByTagName
      

  6.   

    id只能是唯一的,你里面太多相同的id了,把id换成name,把getElementById换成getElementByTagName