这是我的代码。
可以实现第一行表格中的计算,但是从第二行开始就不计算了。应该是要写一个循环,特来向各位请教!请麻烦修改一下。有劳了!
<html>
<TABLE   border="0" width="50%"  id="activeTable1"></TABLE>
                    <p>
 <input type="button" name="Submit3" value="  增 加 备 件  "  onclick="AddRecord1()" >
                      <script> 
function getback()
   {
 var shuliang = document.getElementById("texti");
 var dangjia = document.getElementById("textj");
 var price = document.getElementById("textk");
  price.value = (shuliang.value * dangjia.value).toFixed(2);
}   
  function   AddRecord1()   
  {   
  var   row   =   activeTable1.insertRow(activeTable1.rows.length);//id=recordTable     
  var   col   =   row.insertCell(0);   
  var   i   =   row.rowIndex;   
  col.innerHTML   =   "<input   type='text'   name='texth' value=''>"; 
  col   =   row.insertCell(1);     
  col.innerHTML   =   "<input   type='text'   name='texti'    value=''>"; 
  col   =   row.insertCell(2);     
  col.innerHTML   =   "<input   type='text'   name='textj'    value=''>";
  col   =   row.insertCell(3);     
  col.innerHTML   =   "<input   type='text'   name='textk'    onClick='getback()'; value=''>";
   col   =   row.insertCell(4);     
  col.innerHTML   =   "<input   type='hidden'   name='textl'    value='"+i+ "'>";           
  }   
  </script></html>

解决方案 »

  1.   

    首先,name的属性最好不要用getElementById来获取。
    其次,没必要写什么循环吧
    最后,学一学XML DOM的API吧<html>
    <TABLE border="0" width="50%" id="activeTable1"></TABLE>
      <p>
     <input type="button" name="Submit3" value=" 增 加 备 件 " onclick="AddRecord1()" >
      <script>  
    function getback(obj)
      {
      var temp = obj;
      while(obj.tagName!="TR"){
    obj = obj.parentNode;
      }
      var shuliang = obj.childNodes[0].childNodes[0].value;
      var dangjia = obj.childNodes[1].childNodes[0].value;
      var price = obj.childNodes[2].childNodes[0].value;
      temp.value = (shuliang * dangjia).toFixed(2);
    }   
      function AddRecord1()   
      {   
      var row = activeTable1.insertRow(activeTable1.rows.length);//id=recordTable   
      var col = row.insertCell(0);   
      var i = row.rowIndex;   
      col.innerHTML = "<input type='text' name='texth' value=''>";  
      col = row.insertCell(1);   
      col.innerHTML = "<input type='text' name='texti' value=''>";  
      col = row.insertCell(2);   
      col.innerHTML = "<input type='text' name='textj' value=''>";
      col = row.insertCell(3);   
      col.innerHTML = "<input type='text' name='textk' onClick='getback(this)'; value=''>";
      col = row.insertCell(4);   
      col.innerHTML = "<input type='hidden' name='textl' value='"+i+ "'>";   
      }   
      </script></html>
      

  2.   


    <html>
    <TABLE border="0" width="50%" id="activeTable1"></TABLE>
      <p>
     <input type="button" name="Submit3" value=" 增 加 备 件 " onclick="AddRecord1()" >
      <script> function getback(obj)
      {
     var td = obj.parentNode;
     var dangjia = td.previousSibling.firstChild;
     var shuliang = td.previousSibling.previousSibling.firstChild;
     obj.value = (shuliang.value * dangjia.value).toFixed(2);
    }  
      function AddRecord1()  
      {  
      var row = activeTable1.insertRow(activeTable1.rows.length);//id=recordTable  
      var col = row.insertCell(0);  
      var i = row.rowIndex;  
      col.innerHTML = "<input type='text' name='texth' value=''>"; 
      col = row.insertCell(1);  
      col.innerHTML = "<input type='text' name='texti' value=''>"; 
      col = row.insertCell(2);  
      col.innerHTML = "<input type='text' name='textj' value=''>";
      col = row.insertCell(3);  
      col.innerHTML = "<input type='text' name='textk' onClick='getback(this)'; value=''>";
      col = row.insertCell(4);  
      col.innerHTML = "<input type='hidden' name='textl' value='"+i+ "'>";  
      }  
      </script></html>