大体上这个意思,参考下吧
<form name="form1" method="post" action="">
  <input type="button" name="Submit" value="-"  onclick="deleteRow()">
  <input name="num" type="text" value="3" size="4" maxlength="4">
  <input type="button" name="Submit2" value="+" onclick="insertRow()">
  <br>
  <table id="table1" width="500" border="0" cellspacing="0" cellpadding="0">
    <tr>
      <td width="87"><select name="select"></select></td>
      <td width="277"><input type="text" name="textfield1"></td>
      <td width="136"><input type="button" name="1" value="1"></td>
    </tr>
    <tr>
      <td><select name="select2"></select></td>
      <td><input type="text" name="textfield2"></td>
      <td><input type="button" name="2" value="2"></td>
    </tr>
    <tr>
      <td><select name="select3"></select></td>
      <td><input type="text" name="textfield3"></td>
      <td><input type="button" name="3" value="3"></td>
    </tr>
  </table>
</form>
<script language=javascript>
function deleteRow()
{
var obj=document.getElementById("table1")
var rowIndex=obj.childNodes[0].childNodes.length;
if(rowIndex>3)
{
document.getElementById("num").value=document.getElementById("num").value-parseInt(1)
obj.deleteRow(rowIndex-parseInt(1));
}
}
function insertRow()
{
var obj=document.getElementById("table1")
var rowIndex=obj.childNodes[0].childNodes.length;
var objTR=obj.insertRow(rowIndex);
var objTD1=objTR.insertCell();
var objTD2=objTR.insertCell();
var objTD3=objTR.insertCell();
rowIndex2=parseInt(rowIndex)+parseInt(1)
objTD1.innerHTML=obj.childNodes[0].childNodes[rowIndex-1].childNodes[0].innerHTML.replace(/(name=)(\")*(select)(\d)(\2)/gi,"$1$2$3"+rowIndex2+"$5")
objTD2.innerHTML=obj.childNodes[0].childNodes[rowIndex-1].childNodes[1].innerHTML.replace(/(name=)(\")*(textfield)(\d)(\2)/gi,"$1$2$3"+rowIndex2+"$5")
objTD3.innerHTML=obj.childNodes[0].childNodes[rowIndex-1].childNodes[2].innerHTML.replace(/(=)(\")*(\d)(\2)/gi,"$1$2"+rowIndex2+"$4")
document.getElementById("num").value=parseInt(document.getElementById("num").value)+parseInt(1)
}
</script>

解决方案 »

  1.   

    <a href="" name="mylink" onclick="add_text()">添加</a>
    <script language="javascript">
      function add_text()
      {
        mylink.innerHTML+='<input id="t1" type="text" >';
      }
    </script>
      

  2.   

    <Script language="JavaScript" type="">
    var cellID = 0;
    //增加行
    function addList(){
      cellID = cellID + 1;
      var row1 = tabfj.insertRow();
      row1.id = "r"+cellID;
      var cell1 = row1.insertCell();
      var ss1 = "<input type=\"file\" name=\"f\" size=\"30\" id=\"fjbt"+cellID+"\">";
      cell1.innerHTML = ss1;
      var cell2 = row1.insertCell();
      var ss2 = "&nbsp;&nbsp;<a href=\"#\" onclick=\"doDeleteRow('"+cellID+"')\">删除</a>";
      cell2.innerHTML = ss2;
    }
    //删除行
    function doDeleteRow(l){
      tabfj.deleteRow(document.getElementById("r"+l).rowindex);
    }
    </Script>
    <table id="tabfj">
    </table>已经测试过,没问题
      

  3.   

    把addList()写到
    <input type="button" name="add" value="增加列表" onclick="addList()" align="right" class="BUTTON">