在 输入框的onblur 事件中判断是否输入了数据,如果有数据,那就计算一下添加到 金额中去。

解决方案 »

  1.   

    <table style="width: 100%" class="style1" border="1">
    <tr>
    <td>
    价格</td>
    <td>数量</td>
    <td>金额</td>
    </tr>
    <tr>
    <td><input name="Text4" type="text" /></td>
    <td><input name="Text5" type="text" onchange="aa(this);"/></td>
    <td><input name="Text6" type="text" /></td>
    </tr>
    <tr>
    <td><input name="Text15" type="text" /></td>
    <td><input name="Text7" type="text" /></td>
    <td><input name="Text8" type="text" /></td>
    </tr>
    <tr>
    <td style="height: 29px"><input name="Text14" type="text" /></td>
    <td style="height: 29px"><input name="Text11" type="text" /></td>
    <td style="height: 29px"><input name="Text9" type="text" /></td>
    </tr>
    <tr>
    <td><input name="Text13" type="text" /></td>
    <td><input name="Text12" type="text" /></td>
    <td><input name="Text10" type="text" /></td>
    </tr>
    </table></body></html>
    <script language="javascript" type="text/javascript">
    function aa(obj)
    {
    //debugger;
       var obj_tx=obj.value;
       if(isNaN(parseFloat(obj_tx)))
       {
          alert("价格!!!!1");
       }
       else
       {
          var tb=obj.parentNode.parentNode.parentNode.parentNode;
          var row=obj.parentNode.parentNode.rowIndex;
          var cell=obj.parentNode.cellIndex;
         var count=tb.rows[row].cells[cell-1].childNodes[0].value;
         if(count.length==0 || isNaN(parseInt(count)))
         {
           alert("数量!!!");
         }
         else
         {
            tb.rows[row].cells[cell+1].childNodes[0].value=obj_tx*count;
         }
       }
    }
    </script>
      

  2.   

    谢谢mary_lou(秋风),刚才我测试了一下,只有第一行能计算.
      

  3.   

    好的.我的表格实际是DATAGRID
    在页面上放个文本框.把总金额放在里面
    太谢谢了
      

  4.   

    <body>
    总金额:<input id="a1" name="Tt4" type="text" />
    <table style="width: 100%" class="style1" border="1">
    <tr>
    <td>
    价格</td>
    <td>数量</td>
    <td>金额</td>
    </tr>
    <tr>
    <td><input name="Text4" type="text" /></td>
    <td><input name="Text5" type="text" onchange="aa(this);"/></td>
    <td><input name="Text6" type="text" /></td>
    </tr>
    <tr>
    <td><input name="Text15" type="text" /></td>
    <td><input name="Text7" type="text" onchange="aa(this);"/></td>
    <td><input name="Text8" type="text" /></td>
    </tr>
    <tr>
    <td style="height: 29px"><input name="Text14" type="text" /></td>
    <td style="height: 29px"><input name="Text11" type="text" onchange="aa(this);"/></td>
    <td style="height: 29px"><input name="Text9" type="text" /></td>
    </tr>
    <tr>
    <td><input name="Text13" type="text" /></td>
    <td><input name="Text12" type="text" onchange="aa(this);"/></td>
    <td><input name="Text10" type="text" /></td>
    </tr>
    </table></body></html>
    <script language="javascript" type="text/javascript">
    function aa(obj)
    {
    //debugger;
       var obj_tx=obj.value;
       if(isNaN(parseFloat(obj_tx)))
       {
          alert("价格!!!!1");
       }
       else
       {
          var tb=obj.parentNode.parentNode.parentNode.parentNode;
          var row=obj.parentNode.parentNode.rowIndex;
          var cell=obj.parentNode.cellIndex;
         var count=tb.rows[row].cells[cell-1].childNodes[0].value;
         if(count.length==0 || isNaN(parseInt(count)))
         {
           alert("数量!!!");
         }
         else
         {
            tb.rows[row].cells[cell+1].childNodes[0].value=obj_tx*count;
            this.sum(tb);
         }
       }
    }
    function sum(obj)
    {
      var Result=0;
      var row=obj.rows.length;
      for(var i=1;i<row;i++)
      {
         var price= obj.rows[i].cells[2].childNodes[0].value;
         if(price.length==0) {price=0;}
         Result+=price;
      }
      document.getElementById("a1").value=Result;
    }
    </script>结果好象有点问题,不过解决方法就是这样的,你再检查下