<script   language="javascript">   
  function   get_Element(the_ele,the_tag){   
  the_tag   =   the_tag.toLowerCase();   
  if(the_ele.tagName.toLowerCase()==the_tag)   
  return   the_ele;   
  while(the_ele=the_ele.offsetParent){   
  if(the_ele.tagName.toLowerCase()==the_tag)   
  return   the_ele;   
  }   
  return(null);   
  }   
    
  function   add_Row(the_table)   {   
  var   the_row,the_cell;   
  var   cur_rows=the_table.rows.length;   
  the_row=cur_rows==null?-1:(cur_rows);   
  var   i=the_row-1;   
  var   newrow=the_table.insertRow(i);//得到插入位置   
  the_cell=newrow.insertCell(0);   
  the_cell.innerHTML="<center   >收件人"+i;   
  the_cell=newrow.insertCell(1);   
  the_cell.innerHTML="<center   ><input   name=A"+i+"   type=text   size=13>";     
  the_cell=newrow.insertCell(2);   
  the_cell.innerHTML="<center   ><INPUT   type=button   value=删除     onclick=del_row(myTable)>";   
  alert(the_table.rows.length);
    }   
    
  function   del_row(the_table){   
    var   the_cell;   
  the_cell=get_Element(event.srcElement,"td");   
  var   index=the_cell.parentElement.rowIndex;   
  if(the_cell==null)   return;   
  if(the_table.rows.length==1)   return;   
  the_table.deleteRow(index);   
    
  var   cell1='';   
  var   cell2='';   
  for(var   i=1;i<document.getElementById('myTable').rows.length-2;i++)   
  {   
    try   
       {   
          cell1=document.getElementById('myTable').rows[i].cells[0];         
          cell2=document.getElementById('myTable').rows[i+1].cells[0];       
          cell22=document.getElementById('myTable').rows[i+1].cells[1];                                            
               if(parseInt(cell2.innerText)!=(parseInt(cell1.innerText)+1))   
               {   
                             s=cell1.innerText.replace("收件人","");                               
                            cell2.innerText="收件人"+(parseInt(s-0)+1);   
                            cell2.style.textAlign='center'; 
                            cell22.innerHTML="<center   ><input   name=A"+(i+1)+"   type=text   size=13>";
                          alert(cell22.innerHTML);
                }   
        }   
     catch(e)   
     {   
         alert(e.discription);   
     }   
    
  }   
  }  
  </script>
  <body>
  <form method="post" name="form1" action="jsp.jsp" onSubmit="">
    <table     id="myTable"   width="100%"   border="1"   cellpadding="4"   cellspacing="1"   >   
                      <tr   class="TdContent">   
                          <td   ><div   align="center">序号</div></td>   
                          <td   ><div   align="center">A</div></td>   
                          <td   ><div   align="center">B</div></td>   
                      </tr>   
                      <tr   class="TdContent">   
                          <td><div   align="center">1</div></td>   
                          <td><div   align="center">   
                              <input   name="A"   type="text"   size="13"   >   
                          </div></td>   
                          <td><div   align="center">   
                              <input   name="B"   type="text"   size="13"   >   
                          </div></td>   
                      </tr>   
                      <tr   class="TdContent">   
                          <td   colspan="3"   align="center"><input     type="button"   value="添加一行"       class="ButtonStyle"   onClick="add_Row(myTable)"></td>   
                      </tr>   
              </table>
    <input type="submit" name="Submit" value="发送">
  </form>
  </body>

解决方案 »

  1.   

    谢谢Ischema(花客) 的帮忙,还有一个小问题,我需要在另一个页面获取i的值,我在
    var   i=the_row-1;后面加了 document.getElementById("name").value=eval(i);
    表格里加了隐藏域<input type="hidden" name="name" id="name">
    现在比如说我在这个页面里加了20个文本框,但是我又删除了17个,本来现在只是剩3个了,在获值的页面里我获取过来的应该是3才符合我的需要,可是现在传过去的是20,这个怎么办啊。
    我在另一个页面里用循环要取出文本框里的值,可是明明只有3个值,我的循环却要走20次...
      

  2.   

    还有这个在不添加行的时候,在获取值的页面里获取A的值时候会出现下面这个异常java.lang.NumberFormatException: For input string: ""
    at java.lang.NumberFormatException.forInputString(NumberFormatException.java:48)
    at java.lang.Integer.parseInt(Integer.java:468)
    at java.lang.Integer.parseInt(Integer.java:497)
             ........
    但是添加行后就没这个问题了
      

  3.   

    zabcd117(菜园小哥)
    怎么做啊?????