<script>
function opshuliang(){
var shuliang  = document.getElementById("shuliang").value;
var shuliang2 = document.getElementById("shuliang2").value;
var shuliang3 = document.getElementById("shuliang3").value;
var s_shuliang = document.getElementById("s_shuliang");

if(shuliang==""){
shuliang = 0;
}
if(shuliang2==""){
shuliang2= 0;
}
if(shuliang3==""){
shuliang3= 0;
}
sum = parseFloat(shuliang)+parseFloat(shuliang2)+parseFloat(shuliang3);
s_shuliang.value  = sum;
}
</script>
<table width="300" border="1" cellspacing="0" cellpadding="0"> 
  <tr> 
    <td>&nbsp; </td> 
    <td>数量 </td> 
    <td>重量 </td> 
  </tr> 
  <tr> 
    <td>&nbsp; </td> 
    <td> <input type="text"  id="shuliang" size="5" onkeyup="opshuliang();"/> </td> 
    <td> <input type="text"  id="zhongliang" size="5" /> </td> 
  </tr> 
  <tr> 
    <td>&nbsp; </td> 
    <td> <input type="text"  id="shuliang2" size="5" onkeyup="opshuliang();"/> </td> 
    <td> <input type="text"  id="zhongliang2" size="5" /> </td> 
  </tr> 
  <tr> 
    <td>&nbsp; </td> 
    <td> <input type="text"  id="shuliang3" size="5" onkeyup="opshuliang();"/> </td> 
    <td> <input type="text"  id="zhongliang3" size="5" /> </td> 
  </tr> 
  <tr> 
    <td>合计 </td> 
    <td> <input type="text"  id="s_shuliang" size="5" /> </td> 
    <td> <input type="text"  id="s_zhongliang" size="5" /> </td> 
  </tr> 
</table> 
计算重量和计算数量类似,就不用写了。

解决方案 »

  1.   

    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
    <title></title>
    <script>
    function a(){
    var sl = 0;
    for(var i=0;i<shuliang.length;i++){
    if(shuliang[i].value)
    sl += parseInt(shuliang[i].value);
    }
    s_shuliang.value=sl;
    var zl = 0;
    for(var i=0;i<zhongliang.length;i++){
    if(zhongliang[i].value)
    zl += parseInt(zhongliang[i].value);
    }
    s_zhongliang.value=zl;
    }
    </script></head><body>
    <table width="300" border="0" cellspacing="0" cellpadding="0"> 
      <tr> 
        <td>&nbsp; </td> 
        <td>数量 </td> 
        <td>重量 </td> 
      </tr> 
      <tr> 
        <td>&nbsp; </td> 
        <td> <input name="shuliang" type="text"  id="shuliang" size="5" /> </td> 
        <td> <input name="zhongliang" type="text"  id="zhongliang" size="5" /> </td> 
      </tr> 
      <tr> 
        <td>&nbsp; </td> 
        <td> <input name="shuliang" type="text"  id="shuliang" size="5" /> </td> 
        <td> <input name="zhongliang" type="text"  id="zhongliang" size="5" /> </td> 
      </tr> 
      <tr> 
        <td>&nbsp; </td> 
        <td> <input name="shuliang" type="text"  id="shuliang" size="5" /> </td> 
        <td> <input name="zhongliang" type="text"  id="zhongliang." size="5" /> </td> 
      </tr> 
      <tr> 
        <td>合计 </td> 
        <td> <input name="s_shuliang" type="text"  id="s_shuliang" size="5" /> </td> 
        <td> <input name="s_zhongliang" type="text"  id="s_zhongliang" size="5" /> </td> 
      </tr> 
    </table> 
    <button onclick="a()"/>
    </body>
    </html>
    如果你前面的zhongliang等ID是相同的要这么写
      

  2.   


    <table width="300" border="0" cellspacing="0" cellpadding="0">
    <tr>
    <td>&nbsp;</td>
    <td>数量</td>
    <td>重量</td>
    </tr>
    <tr>
    <td>&nbsp;</td>
    <td><input name="shuliang" type="text"  id="shuliang" size="5" /></td>
    <td><input name="zhongliang" type="text"  id="zhongliang" size="5" /></td>
    </tr>
    <tr>
    <td>&nbsp;</td>
    <td><input name="shuliang" type="text"  id="shuliang" size="5" /></td>
    <td><input name="zhongliang" type="text"  id="zhongliang" size="5" /></td>
    </tr>
    <tr>
    <td>&nbsp;</td>
    <td><input name="shuliang" type="text"  id="shuliang" size="5" /></td>
    <td><input name="zhongliang" type="text"  id="zhongliang" size="5" /></td>
    </tr>
    <tr>
    <td>合计</td>
    <td><input name="s_shuliang" type="text"  id="s_shuliang" size="5" /></td>
    <td><input name="s_zhongliang" type="text"  id="s_zhongliang" size="5" /></td>
    </tr>
    </table>
    <input type="button" value="计算" onclick="getTotal()"><script>
    function addAll(name1, name2){
    var texts = document.getElementsByName(name1);
    var sum = 0.0;

    for(var i = 0;i < texts.length; i++){
    texts[i].value = /^\s*$/.test(texts[i].value) ? "0" : texts[i].value;
    if(isNaN(texts[i].value)){
    alert("必须输入数字");
    texts[i].focus();
    return false;
    }
    sum += parseFloat(isNaN(texts[i].value) ? "0" : texts[i].value);
    }
    document.getElementsByName(name2)[0].value = sum;
    }function getTotal(){
    addAll("shuliang", "s_shuliang");
    addAll("zhongliang", "s_zhongliang");
    }
    </script>