<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>ColorNum</title>
</head><body>
<form id="form1" name="form1" method="post" action=""><TABLE cellSpacing=0 cellPadding=0 width="100%" border=0>
                    <TBODY>
                    <TR>
                      <TD colSpan=2 height=30>产品的数量等于选择产品颜色+产品型号(S M L)的和:</TD></TR>
                    <TR>
                      <TD colSpan=2>
                        <TABLE cellSpacing=0 cellPadding=0 width="100%" border=0>
                          <TBODY>
                          <TR>
                            <TD width="14%">&nbsp;</TD>
                            <TD align=middle width="26%">S</TD>
                            <TD align=middle width="26%">M</TD>
                            <TD align=middle width="25%">L</TD>
                            <TD align=middle width="9%">&nbsp;</TD></TR></TBODY></TABLE>
                        <TABLE cellSpacing=0 cellPadding=0 width="100%" 
border=0>
                          <TBODY>
                          <TR>
                          <TR>
                            <TD>米色</TD>
                            <TD align=middle><INPUT id=product_color_0_0 onblur="return ColorNum(this);" name=product_color_0_2></TD>
                            <TD align=middle><INPUT id=product_color_1_0 onblur="return ColorNum(this);" name=product_1_color_2></TD>
                            <TD align=middle><INPUT id=product_color_2_0 onblur="return ColorNum(this);" name=product_2_color_2></TD>
                            <TD>&nbsp;</TD></TR>
                          <TR>
                            <TD>灰色</TD>
                            <TD align=middle><INPUT id=product_color_0_1 onblur="return ColorNum(this);" name=product_color_0_3></TD>
                            <TD align=middle><INPUT id=product_color_1_1 onblur="return ColorNum(this);" name=product_1_color_3></TD>
                            <TD align=middle><INPUT id=product_color_2_1 onblur="return ColorNum(this);" name=product_2_color_3></TD>
                            <TD>&nbsp;</TD></TR>
                          <TR>
                            <TD>深灰色</TD>
                            <TD align=middle><INPUT id=product_color_0_2 onblur="return ColorNum(this);"  name=product_color_0_4></TD>
                            <TD align=middle><INPUT id=product_color_1_2 onblur="return ColorNum(this);" name=product_1_color_4></TD>
                            <TD align=middle><INPUT id=product_color_2_2 onblur="return ColorNum(this);" name=product_2_color_4></TD>
                            <TD>&nbsp;</TD></TR>
                          <TR>
                            <TD>银色</TD>
                            <TD align=middle><INPUT id=product_color_0_3 onblur="return ColorNum(this);" 
                               name=product_color_0_5></TD>
                            <TD align=middle><INPUT id=product_color_1_3  onblur="return ColorNum(this);"  name=product_1_color_5></TD>
                            <TD align=middle><INPUT id=product_color_2_3 onblur="return ColorNum(this);" name=product_2_color_5></TD>
                            <TD>&nbsp;</TD></TR></TBODY></TABLE></TD></TR>
                    </TBODY></TABLE>
</form>
<script language="javascript"> function ColorNum(object)
{
var sumnum=0;
var oNum=object.value;
if(!oNum) return false;
var strP=/^\d+(\d+)?$/;
//var strP=/^\d+(\.\d+)?$/;
if(!strP.test(oNum))
{
alert("请输入一个整数!");
object.value="";
object.focus();
return false;
}
try{
if(parseFloat(oNum)!=oNum) return false;
}
catch(ex)
{
return false;
}
/* 
for(var i=0;i<=2;i++)
{
for(var j=0;j<4;j++)
{
if(document.getElementById("product_color_"+i+"_"+j).value!="")
{
sumnum+=parseInt(document.getElementById("product_color_"+i+"_"+j).value);
//alert(i+","+j+","+document.getElementById("product_color_"+i+"_"+j).value);
document.getElementById("product_color_"+i+"_"+j).focus();
}
}
}
*/
/*将上面方法改为下面的*/
var inputObj = document.getElementsByTagName("input");
var inputNum = document.getElementsByTagName("input").length;
for(var i=0;i<inputNum;i++)
{
if(inputObj[i].value!="")
{
     sumnum += parseInt(inputObj[i].value);
}
}
alert("产品的数量:"+sumnum);
}
</script>
</body>
</html>
是不是上面这样子呢?

解决方案 »

  1.   

    var inputObj = document.getElementsByTagName("input");
            var inputNum = document.getElementsByTagName("input").length;
            for(var i=0;i<inputNum;i++)
            {
                if(inputObj[i].value!="")
                {
                    sumnum += parseInt(inputObj[i].value);                
                }
            }
            alert("产品的数量:"+sumnum);
      

  2.   

    楼主,你的代码只只需要改2个地方就可以了第一:oNum=object.value;这个地方你再加一个var ssum=0;
    第二:   oNum+=document.getElementById("product_color_"+i+"_"+j).value;
    改为 ssum+=parseInt(document.getElementById("product_color_"+i+"_"+j).value);
    alert("产品的数量:"+oNum);改为 alert("产品的数量:"+ssum);
    就可以了
      

  3.   

    计算小数也是可以的,使用parseFloat这个
      

  4.   

     ssum+=parseFloat(document.getElementById("product_color_"+i+"_"+j).value);
    使用这个可以计算小数