http://www.csdn.net/Develop/Read_Article.asp?Id=8652

解决方案 »

  1.   

    给你一个很好的例子:
    <html>
    <body>
    <SCRIPT LANGUAGE="JavaScript">
    <!--
    function showinput()
    {
    elm = event.srcElement;
    if (elm.tagName != "TD") return;
    elm.innerHTML = "<input onblur='hide()'  value='"+elm.innerText+"' size=10 id='input1'></input>";
    input1.focus();
    input1.select();
    }
    function hide()
    {
    elm = event.srcElement;
    elm.parentNode.innerHTML = elm.value
    }
    function deleteLine()
    {
    for (var i=tbody1.children.length-1; i>=0 ; i-- )
    if (tbody1.children[i].firstChild.firstChild.checked)
    tbody1.deleteRow(i);
    }
    function addLine()
    {
    elm = thead1.lastChild.cloneNode(true)
    elm.style.display="";
    tbody1.insertBefore(elm);
    }
    //-->
    </SCRIPT>
    <TABLE border=1 height=100>
    <thead id=thead1>
    <tr>
    <th></th>
    <th width=100></th>
    <th width=100></th>
    <th width=100></th>
    </tr>
    <TR style="display:none">
    <td><input type=checkbox id=checkLine></td>
    <TD>000</TD>
    <TD>000</TD>
    <TD>000</TD>
    </TR>
    </thead>
    <tbody onClick="showinput()" id=tbody1>
    <TR>
    <td><input type=checkbox id=checkLine></td>
    <TD>aaa</TD>
    <TD>bbb</TD>
    <TD>ccc</TD>
    </TR>
    <TR>
    <td><input type=checkbox id=checkLine></td>
    <TD>ddd</TD>
    <TD>eee</TD>
    <TD>fff</TD>
    </TR>
    <TR>
    <td><input type=checkbox id=checkLine></td>
    <TD>ggg</TD>
    <TD>hhh</TD>
    <TD>iii</TD>
    </TR>
    </tbody>
    <tfoot>
    <tr>
    <td colspan=4 align=center>
    <button onClick="deleteLine()">del</button>
    <button onClick="addLine()">add</button>
    </td>
    </tr>
    </tfoot>
    </TABLE></body>
      

  2.   

    to  net_lover(孟子E章) 仁兄:   我增加一行后,我主要是想在最下面的框架中用一个按钮来删除当前
    得到焦点的行,不知有办法否?
       另:我不是增加表格的一行,而是增加了一个表格
      

  3.   

    parent.right.document.body.removeChild(tableID)
      

  4.   

    parent.right.document.MyTable.removeNode(true)
      

  5.   

    AA.htm
    ==============
    <html>
    <body>
    <form name="foual_taxa">
    <span id="declare">
    <table border="0" cellpadding="0" cellspacing="0" width="88%" onclick="aa()">
      <tr>
        <td width="14%" align="center">税&nbsp;&nbsp;&nbsp; 类</td>
        <td width="22%" align="center"></td>
        <td width="23%" align="center">营业额(计税依据)</td>
        <td width="41%" align="center"><input name="a" type="text" onpropertychange="change_value(this.name);" size="29" onpaste="return false" onKeyDown="return my_keydown()"></td>
      </tr>
      <tr>
        <td width="14%" align="center">税&nbsp;&nbsp;&nbsp; 款</td>
        <td width="22%" align="center"></td>
        <td width="23%" align="center">课税数量</td>
          <td width="41%" align="center"><input name="b" type="text" onpropertychange="change_value(this.name);" size="29" onpaste="return false" onKeyDown="return my_keydown()"></td>
      </tr>
      <tr>
        <td width="14%" align="center">税&nbsp;&nbsp;&nbsp; 项</td>
        <td width="22%" align="center"></td>
        <td width="23%" align="center">税&nbsp;&nbsp;&nbsp; 率</td>
        <td width="41%" align="center"><input name="c" type="text" onpropertychange="change_value(this.name);" size="29" onpaste="return false" onKeyDown="return my_keydown()"></td>
      </tr>
      <tr>
        <td width="14%" align="center">税&nbsp;&nbsp;&nbsp; 目</td>
        <td width="22%" align="center"></td>
        <td width="23%" align="center">已缴(扣除数)</td>
        <td width="41%" align="center"><input name="d" type="text" onpropertychange="change_value(this.name);" size="29" onpaste="return false" onKeyDown="return my_keydown()"></td>
      </tr>
      <tr>
        <td width="14%" align="center">预算级次</td>
        <td width="22%" align="center"></td>
        <td width="23%" align="center">应退(补)额</td>
        <td width="41%" align="center"><input name="e" type="text" readonly size="29"></td>
      </tr>
      </table>
    <hr>
    </span>
    </form>
    <script>
    <!--
    foual_taxa.a.focus();
    function change_value(thisvalue) {
    //alert(thisvalue);   var aa=foual_taxa.a.value;
       var bb=foual_taxa.b.value;
        var cc=foual_taxa.c.value;
       var dd=foual_taxa.d.value;
    if (dd=="") dd=0.00;
      if(aa==""||bb==""||cc=="") {
        foual_taxa.e.value="";
        return;
      }   try {
        foual_taxa.e.value=parseFloat(aa)*parseFloat(bb)*parseFloat(cc) - parseFloat(dd);
        } catch(e) {
         foual_taxa.e.value="";
        }
    }function my_keydown(){
      if (event.keyCode==13){event.keyCode=9;
      return true;}//if ((window.event.keyCode<48&&window.event.keyCode!=13) || window.event.keyCode>57)
    //   {window.event.keyCode=0;
    //return false;}else
    //{return true;}
    with(window.event)return ((keyCode<58&&keyCode>47)||keyCode==190 || keyCode==46);}//var tesinner="<input type='text' id='sd'>";
    var lrow=1;
     function addrow(){
      var lsinner="<table border='0' cellpadding='0' cellspacing='0' width='88%' onclick='aa()'>";
      lsinner=lsinner+"<tr>";
        lsinner=lsinner+"<td width='14%' align='center'>税&nbsp;&nbsp;&nbsp; 类</td>";
        lsinner=lsinner+"<td width='22%' align='center'></td>";
        lsinner=lsinner+"<td width='23%' align='center'>营业额(计税依据)</td>";
        lsinner=lsinner+"<td width='41%' align='center'><input name='a"+lrow+"' type='text' onpropertychange='change_value(this.name);' size='29' onpaste='return false' onKeyDown='return my_keydown()'></td>";  lsinner=lsinner+"</tr>";
      lsinner=lsinner+"<tr>";
       lsinner=lsinner+ "<td width='14%' align='center'>税&nbsp;&nbsp;&nbsp; 款</td> ";
       lsinner=lsinner+ "<td width='22%' align='center'></td>";
       lsinner=lsinner+ "<td width='23%' align='center'>课税数量</td>";
         lsinner=lsinner+ "<td width='41%' align='center'><input name='b"+lrow+"' type='text' onpropertychange='change_value(this.name);' size='29' onpaste='return false' onKeyDown='return my_keydown()'></td>";
      lsinner=lsinner+"</tr>";
     lsinner=lsinner+ "<tr>";
        lsinner=lsinner+"<td width='14%' align='center'>税&nbsp;&nbsp;&nbsp; 项</td> ";
       lsinner=lsinner+ "<td width='22%' align='center'></td>";
       lsinner=lsinner+ "<td width='23%' align='center'>税&nbsp;&nbsp;&nbsp; 率</td> ";
       lsinner=lsinner+ "<td width='41%' align='center'><input name='c"+lrow+"' type='text' onpropertychange='change_value(this.name);' size='29' onpaste='return false' onKeyDown='return my_keydown()'></td>";
      lsinner=lsinner+"</tr>";
     lsinner=lsinner+ "<tr>";
       lsinner=lsinner+ "<td width='14%' align='center'>税&nbsp;&nbsp;&nbsp; 目</td> ";
       lsinner=lsinner+ "<td width='22%' align='center'></td>";
       lsinner=lsinner+ "<td width='23%' align='center'>已缴(扣除数)</td>";
       lsinner=lsinner+ "<td width='41%' align='center'><input name='d"+lrow+"' type='text' onpropertychange='change_value(this.name);' size='29' onpaste='return false' onKeyDown='return my_keydown()'></td>";
      lsinner=lsinner+"</tr>";
      lsinner=lsinner+"<tr>";
        lsinner=lsinner+"<td width='14%' align='center'>预算级次</td>";
        lsinner=lsinner+"<td width='22%' align='center'></td>";
        lsinner=lsinner+"<td width='23%' align='center'>应退(补)额</td>";
       lsinner=lsinner+ "<td width='41%' align='center'><input name='e"+lrow+"' type='text' readonly size='29'></td>";
      lsinner=lsinner+"</tr>";
    lsinner=lsinner+"</table>";
    lsinner=lsinner+"<hr>";   var myinner="declare.innerHTML=declare.innerHTML+\""+lsinner+"\"";
        eval(myinner);
        with(document.body)scrollTop=scrollHeight;
        lrow++;
     }
    function aa()
     {
     var e=event.srcElement
     if(e!=null)
     {
     while(e.tagName!="TABLE") e=e.parentElement
     }
     var t=document.getElementsByTagName("TABLE")
     for(i=0;i<t.length;i++){
     if(e==t[i])
     parent.right1.document.all.tID.value=i
     }
     }
    //-->
    </script>
      

  6.   

    save.htm
    =================
    <html><head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    </head>
    <body>
      <div align="center">
        <center>
        <table border="0" cellpadding="0" cellspacing="0" width="100%">
          <tr>
            <td width="100%" align="right"><input type="button" value="增加(A)" name="add" onclick="parent.right.addrow();">
          <input type="button" value="删除(D)" name="delete" onclick="del()">
          <input type="button" value="确定(O)" name="ok">
          <input type="button" value="取消(C)" name="ok">
          <input type="hidden" value="" id="tID">
          </td>
          </tr>
        </table>
        </center>
      </div>
    <script>
    function del()
    {
    var e=parent.right.document.getElementsByTagName("TABLE")[parseInt(document.all.tID.value)]
    if(e)
    e.parentNode.removeChild(e)
    }
    </script></body>
      

  7.   

    孟兄:  document.all.tID 不是对象或为空?怎么回事?
      

  8.   


    <input type="hidden" value="" id="tID">
    定义的,换个别的什么看看
    <input type="text" value="" id="tID">
    我测试没有问题的,思路就是这样,根据情况可适当修改
      

  9.   

    增加表格,你在页面先定义个<DIV id="main"></div>
    你的表格都在这个id="mian"中
    增加时用 document.all.main.insertBefore(newdiv)
    newdiv是你新增加的每个表格的定义项
    示例:
    var newDIV=document.createElement("<DIV id='talbe1' class='xx'></DIV>");
    strtable="<table><tr><td>新增加的表格1</td></tr></table>"
    newDIV.innerHTML=strTable;
    document.all.main.insertBefore(newdiv);