<TABLE ID="tblData">
<TR>
  <TH>input</TH></TR>
</TABLE><INPUT TYPE="button" ONCLICK="AddRow();" VALUE="Add Data">
<INPUT TYPE="button" ONCLICK="DeleteRow(eButton);" VALUE="eButton" name="del">
<SCRIPT LANGUAGE="JScript"><!--  function AddRow()
  {
    var eNewRow = tblData.insertRow();
    for (var i=0;i<1;i++)
    {
      var eNewCell = eNewRow.insertCell();
      eNewCell.innerHTML = "<input type=text value='test'>";
    }
  }  function DeleteRow(eButton)
  {
    var eRow = eButton.parentElement.parentElement;
    tblData.deleteRow(eRow.rowIndex);
  }//--></SCRIPT>

解决方案 »

  1.   

    不是在table中,而是在textarea 中!
      

  2.   

    如果光标在textarea里,你是想点上去就删除吧?
    删除后用空白行替换还是就是删除了呢?
      

  3.   

    <TEXTAREA rows=20 cols=40 id=t LANGUAGE=javascript onbeforeeditfocus="return t_onbeforeeditfocus()">
    白日依山尽,
    黄河入海流。
    欲穷千里目, 
    更上一层楼。
    </TEXTAREA>
    <SCRIPT ID=clientEventHandlersJS LANGUAGE=javascript>
    <!--function t_onbeforeeditfocus() {
     alert(window.event.srcElement.id);
    }//-->
    </SCRIPT>
    找不到鼠标点的行。
      

  4.   

    只能是处理硬回车.  欢迎大家测试 :)try <textarea id="txt1" style="width:150;height:300">
    01234567891230
    werwer7898554222
    5646212687ert898
    2220004568789
    855456456450
    </textarea>
    <input type="button" value="DelRow" onclick="DelRow()"><br> 
    <script> 
     
    function DelRow() 

    //先把Textarea的数据分开.按\r\n,就是回车符分开.存成数组.
    var str = txt1.value;
    arrstr = str.split(/\r\n/);/****** Start  取得当标所在的位置pos   Start********/
    txt1.focus(); 
    var currentRange=document.selection.createRange(); 
    var workRange=currentRange.duplicate(); 
    txt1.select(); 
    var allRange=document.selection.createRange(); 
    var pos=0; 
    while(workRange.compareEndPoints("StartToStart",allRange)>0) 

      workRange.moveStart("character",-1); 
      pos++; 
    }  
    currentRange.select(); 
    /******   End  取得当标所在的位置pos   End**********///位置和每行的字符长度相减.当小于零时.取得i的值.也就是对应的数组下标.
    for(var i=0;i<arrstr.length;i++)
    {
        pos = pos-arrstr[i].length-i; 
        if(pos<=0){arrstr.baoremove(i);break;}  
    }
    //合并数组.并显示.
    txt1.value=arrstr.join("\r\n")  

    //删除数组元素.原数组上操作.
    Array.prototype.baoremove = function(dx)
    {
        if(isNaN(dx)||dx>this.length){return false;}
        this.splice(dx,1);
    }
    </script>
      

  5.   

    不过不准啊
    <textarea id="txt1" style="width:150;height:300">
    1
    2
    1
    3
    1
    4
    1
    5
    </textarea>
    <input type="button" value="DelRow" onclick="DelRow()"><br> 
    <script> 
     
    function DelRow() 

    //先把Textarea的数据分开.按\r\n,就是回车符分开.存成数组.
    var str = txt1.value;
    arrstr = str.split(/\r\n/);/****** Start  取得当标所在的位置pos   Start********/
    txt1.focus(); 
    var currentRange=document.selection.createRange(); 
    var workRange=currentRange.duplicate(); 
    txt1.select(); 
    var allRange=document.selection.createRange(); 
    var pos=0; 
    while(workRange.compareEndPoints("StartToStart",allRange)>0) 

      workRange.moveStart("character",-1); 
      pos++; 
    }  
    currentRange.select(); 
    /******   End  取得当标所在的位置pos   End**********///位置和每行的字符长度相减.当小于零时.取得i的值.也就是对应的数组下标.
    for(var i=0;i<arrstr.length;i++)
    {
        pos = pos-arrstr[i].length-i; 
        if(pos<=0){arrstr.baoremove(i);break;}  
    }
    //合并数组.并显示.
    txt1.value=arrstr.join("\r\n")  

    //删除数组元素.原数组上操作.
    Array.prototype.baoremove = function(dx)
    {
        if(isNaN(dx)||dx>this.length){return false;}
        this.splice(dx,1);
    }
    </script>
      

  6.   

    问题,出在自己偷懒上 :)再测试一下.<textarea id="txt1" style="width:150;height:300">
    11111111
    22222222
    33333333
    44444444
    55555555
    66666666
    77777777
    88888888
    </textarea> 
    <input type="button" value="DelRow" onclick="DelRow()"><br> 
    <script> 
     
    function DelRow() 

    //先把Textarea的数据分开.按\r\n,就是回车符分开.存成数组.
    var str = txt1.value;
    arrstr = str.split(/\r\n/);
    for(var i=0;i<arrstr.length;i++)
    {
        arrstr[i]=arrstr[i].concat("\r")
    }
    //alert(arrstr)
    /****** Start  取得当标所在的位置pos   Start********/
    txt1.focus(); 
    var currentRange=document.selection.createRange(); 
    var workRange=currentRange.duplicate(); 
    txt1.select(); 
    var allRange=document.selection.createRange(); 
    var pos=0; 
    while(workRange.compareEndPoints("StartToStart",allRange)>0) 

      workRange.moveStart("character",-1); 
      pos++; 
    }  
    currentRange.select(); 
    /******   End  取得当标所在的位置pos   End**********/
    //位置和每行的字符长度相减.当小于零时.取得i的值.也就是对应的数组下标.
    for(var j=0;j<arrstr.length;j++)
    {
        pos-=arrstr[j].length;
    if(pos<0){arrstr.baoremove(j);break;}
    }
    //合并数组.并显示.  
    txt1.value=arrstr.join("")  

    //删除数组元素.原数组上操作.
    Array.prototype.baoremove = function(dx)
    {
        if(isNaN(dx)||dx>this.length){return false;}
        this.splice(dx,1);
    }
    </script>