html>
<head>
<script>
function addNew(){
with(window.event){
var e=srcElement
var r=e.parentElement.parentElement
var t=r.parentElement.parentElement
if(keyCode==68&&ctrlKey){
t.deleteRow(r.rowIndex)
return false;
}
if(keyCode!=13||e.parentElement.cellIndex!=2)return true;
}
if(t.rows.length>r.rowIndex+1)return true;
var n=t.insertRow();
for(i=0;i<r.cells.length;i++){
var c=n.insertCell();
c.innerHTML=r.cells(i).innerHTML;
c.children[0].value="";
}
}
</script>
</head><body onkeydown="if(event.keyCode==13) {event.keyCode=9};">
<table>
<tr>
<th>姓名</th><th>年龄</th><th>城市</th>
</tr>
<tr>
<td><input type=text name="待写入的值1" value="" onkeydown=addNew()></td>
<td><input type=text name="待写入的值2" value="" onkeydown=addNew()></td>
<td><input type=text name="待写入的值3" value="" onkeydown=addNew()></td>
</tr>
</table>
</body></html>

解决方案 »

  1.   

    动态添加删除的<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>
      

  2.   

    <html>
    <head><script>
    function addNew(){
    with(window.event){
    var e=srcElement
    var r=e.parentElement.parentElement
    var t=r.parentElement.parentElement
    if(keyCode==68&&ctrlKey){
    t.deleteRow(r.rowIndex)
    return false;
    }
    }
    if(event.keyCode == 13) {
    if(t.rows.length>r.rowIndex+1)return true;
    var n=t.insertRow();
    for(i=0;i<r.cells.length;i++)
    n.insertCell().innerHTML=r.cells(i).innerHTML
    }
    }
    function delRow(){
    with(window.event){
    var e=srcElement
    var r=e.parentElement.parentElement
    var t=r.parentElement.parentElement
    if(keyCode==68&&ctrlKey){
    t.deleteRow(r.rowIndex)
    return false;
    }
    }
    if(t.rows.length>r.rowIndex+1)return true;
    }
    </script>
    </head><body onkeydown="if(event.keyCode==13) {event.keyCode=9};">
    <table>
    <tr>
    <th>姓名</th><th>年龄</th><th>城市</th>
    </tr>
    <tr>
    <td><input type=text name="待写入的值1" value="" onkeydown="delRow();"></td>
    <td><input type=text name="待写入的值2" value="" onkeydown="delRow();"></td>
    <td><input type=text name="待写入的值3" value="" onkeydown="addNew();"></td>
    </tr>
    </table>
    </body></html>
      

  3.   

    Reve(仨仁仕) 请你快出现吧!
     <html>
    <head><script>
    function addNew(){
    with(window.event){
    var e=srcElement
    var r=e.parentElement.parentElement
    var t=r.parentElement.parentElement
    if(keyCode==68&&ctrlKey){
    t.deleteRow(r.rowIndex)
    return false;
    }
    }
    if(event.keyCode == 13) {
    if(t.rows.length>r.rowIndex+1)return true;
    var n=t.insertRow();
    for(i=0;i<r.cells.length;i++)
    n.insertCell().innerHTML=r.cells(i).innerHTML
    }
    }
    function delRow(){
    with(window.event){
    var e=srcElement
    var r=e.parentElement.parentElement
    var t=r.parentElement.parentElement
    if(keyCode==68&&ctrlKey){
    t.deleteRow(r.rowIndex)
    return false;
    }
    }
    if(t.rows.length>r.rowIndex+1)return true;
    }
    </script>
    </head><body onkeydown="if(event.keyCode==13) {event.keyCode=9};">
    <table>
    <tr>
    <th>姓名</th><th>年龄</th><th>城市</th>
    </tr>
    <tr>
    <td><input type=text name="待写入的值1" value="" onkeydown="delRow();"></td>
    <td><input type=text name="待写入的值2" value="" onkeydown="delRow();"></td>
    <td><input type=text name="待写入的值3" value="" onkeydown="addNew();"></td>
    </tr>
    </table>
    </body></html>问题:Reve(仨仁仕)老师:您给我的这段代码还是出现了我提的那个问题呀!即:例如我在一第行的三个input中输入出了值后,在第一行的最后一个input中键入回车后,自动增加了第二行,但是第二行中却自动包含了第一行中输入的值.如可才能只让它自动增加第二行,而不带值呢???你代码所输出的效果如下:
    姓名 年龄 城市 
    aaa   bbb    ccc
    aaa   bbb    ccc
      

  4.   

    Reve(仨仁仕)的function addNew()改为:
    function addNew(){
    with(window.event){
    var e=srcElement
    var r=e.parentElement.parentElement
    var t=r.parentElement.parentElement
    if(keyCode==68&&ctrlKey){
    t.deleteRow(r.rowIndex)
    return false;
    }
    }
    if(event.keyCode == 13) {
    if(t.rows.length>r.rowIndex+1)return true;
    var n=t.insertRow();
    for(i=0;i<r.cells.length;i++)
      n.insertCell().innerHTML=r.cells(i).innerHTML;
    var inputs = n.getElementsByTagName("INPUT");
    for(i=0;i<inputs.length;i++)  inputs(i).value="";
     }
    }
      

  5.   

    onestab(┼─) :
    为什么不能在任意input中删除一行<td></td>呢?Reve(仨仁仕)的可以呀!
      

  6.   

    onestab(十一):
    不行呀!!!
    您给我的,只能在每一个<td><input><input><input></td>的最后一个<input>框中按下crtl+D时才能删除.能不能在任意<input>中删除一行呢?
      

  7.   

    对不起,onestab(十一)哥!!!
    是我自起的错!!!