本来增加行就是在客户端执行的。。和ASP代码没有关系。。
增加行的js代码处理的就是生成的HTML代码。。
只要每一个新增的行复制上一行所有的cell就可以了。。
你要是新增行的话要知道当前要加入行的rowIndex,所以就可以循环复制rowIndex-1行的Cell

解决方案 »

  1.   

    给你看个自增表格的例子
    <HTML><HEAD><TITLE>无标题文档</TITLE><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=gb2312"><META HTTP-EQUIV="imagetoolbar" CONTENT="no">
    <STYLE TYPE="text/css"><!--
    a, a:link{text-decoration: none; color:#000000; font-size:9pt;}    a:visited{text-decoration: none; color:#000000;}    a:hover{text-decoration: underline; color:red;}
    BODY, TD, SELECT{FONT-SIZE:9pt; FONT-FAMILY:"宋体";}
    --></STYLE>
    <script language="javascript" type="text/JavaScript">
    var i=1;
    var mole=false;
    var EditObj=null;
    var oClickTR;
        function InsertTR(strObjName, strUserName){
            if(!strObjName || !strUserName)return;
            var obj=document.getElementById('SWlist');
            var TR=obj.insertRow();
            var TD1 = TR.insertCell(), TD2 = TR.insertCell(), TD3 = TR.insertCell(), TD4 = TR.insertCell(), TD5 = TR.insertCell(), TD6 = TR.insertCell();
            TR.align='center';
            TR.id='ListTR';
      TR.bgColor="#eeeeee";
            TD1.innerText=i;
            TD2.innerText=strObjName;
            TD3.innerText=strUserName;
            TD4.innerHTML='<a href=\"#\" onclick=\"EditTR(this);\">修</a>';
            TD5.innerHTML="<a href=\"#\" onclick=\"DelTR();\">删</a>";
            TD6.innerHTML='<a href=\"#\" onclick=\"MoveTR();\">上移</a>&nbsp;&nbsp;<a href=\"#\" onclick=\"MoveTR();\">下移</a>';
            form1.t1.value='';
            form1.t2.value='';
            form1.t1.focus();
            i++;
        };    function EditTR(o){
            form1.t1.value=event.srcElement.parentElement.parentElement.children[1].innerText;
            form1.t2.value=event.srcElement.parentElement.parentElement.children[2].innerText;
            EditObj=o;
            mole=true;
        };    function EditSave(strObjName, strUserName){
            if(!strObjName || !strUserName)return;
            var obj=EditObj.parentElement.parentElement;
            var TD2=obj.children[1];
            var TD3=obj.children[2];
            TD2.innerText=strObjName;
            TD3.innerText=strUserName;
            form1.t1.value='';
            form1.t2.value='';
            form1.t1.focus();
            mole=false;
            EditObj=null;
        };    function DelTR(){
            var CZobj=document.getElementById('SWlist');
            var obj=event.srcElement;
            CZobj.deleteRow(obj.parentElement.rowIndex);
            for(var i=0; i<ListTR.length; i++)
                ListTR[i].children[0].innerText=i+1;
        };    function MoveTR(){
      var CZobj=document.getElementById('SWlist');  var TrIndex=event.srcElement.parentElement.parentElement.rowIndex - 2;  if(event.srcElement.innerText=='上移' && TrIndex > 0){
       CZobj.moveRow(TrIndex, TrIndex-1);
       for(var i=0; i<ListTR.length; i++)
        ListTR[i].children[0].innerText=i+1;
      }
      else if(event.srcElement.innerText=="下移" && TrIndex < ListTR.length-1){
       CZobj.moveRow(TrIndex, TrIndex+1);
       for(var i=0; i<ListTR.length; i++)
        ListTR[i].children[0].innerText=i+1;
      }else{
       return;
      }
        };function ClickTR(){
      if(oClickTR != null && oClickTR.tagName == "TR")oClickTR.bgColor="#eeeeee";
      oClickTR = event.srcElement.parentElement;
      if(oClickTR.tagName == "TR")oClickTR.bgColor=(oClickTR.bgColor=="#eeeeee")?"#ffffff":"#eeeeee";
    };    function Save(){
            var hdINPUT='';
            for(var i=0; i<ListTR.length; i++){
                var strObjName=ListTR[i].children[1].innerText;
                var strUserName=ListTR[i].children[2].innerText;
                hdINPUT+="<input type=\"hidden\" name=\"strObjName[]\" value=\""+strObjName+"\"><input type=\"hidden\" name=\"strUserName[]\" value=\""+strUserName+"\">";
            }
            form1.insertAdjacentHTML("afterBegin", hdINPUT);
            form1.b2.submit();
            form1.b2.disabled=true;
        };
    </script>
    </HEAD><BODY bgcolor="#FFFFFF" text="#000000" leftmargin="0" topmargin="0">
    <div style="border:1px #7d7d7d solid;">
    <form name="form1" method="post" action="test.php">
        步骤名称<input type="text" name="t1" /><br />
        执行人<input type="text" name="t2" /><br />
        <input type="button" value="添加" name="b1" onclick="(!mole)?InsertTR(t1.value, t2.value):EditSave(t1.value, t2.value)" />
        <input type="button" value="保存" name="b2" onclick="Save();" />
    </form>
    </div>
    <table width="645" border="1" align="center" cellpadding="0" cellspacing="0" bordercolor="#CCC" style="border-collapse:collapse;">
      <tr>
        <td colspan="6" align="center">步骤列表</td>
      </tr>
      <tr align="center" bgcolor="#99CCFF">
        <td width="57">序号</td>
        <td width="190">步骤名称</td>
        <td width="124">执行人</td>
        <td width="84">修改</td>
        <td width="84">删除</td>
        <td width="92">调整</td>
      </tr>
    <Tbody id="SWlist" onclick="ClickTR();"></Tbody>
    </table>
    </BODY>
    </HTML>
      

  2.   

    <%
    sqllb="select * from new_slb"
    set newlb=conn.execute(sqllb)
    %>
    <script language="JavaScript">
    <!--
    var lb=new Array();//lb是new_slb表中所有一,二级分类的数组
    var slbcount;//相当于数组LB下标的上界
    slbcount=0;
    <%dim i
     i=0
    do while not newlb.eof%>
    lb[<%=i%>]=new Array("<%=newlb("new_flb_id")%>","<%=newlb("new_slb")%>");
    <%i=i+1
    newlb.movenext
    loop
    %>
    slbcount=<%=i%>;
    function lbchange(locationid)
    {document.wyform.new_slb.length = 1;
     var j;
     var l;
     var locationid=locationid;
     l=0;
    for(j=0;j<slbcount;j++)
    {
    if(lb[j][0]==locationid)
    {
    document.all.ifDisplay.style.display="";
    document.wyform.new_slb.options[document.wyform.new_slb.length]=new Option(lb[j][1],lb[j][1]);
    }
    }
    if (document.wyform.new_slb.length==1) document.all.ifDisplay.style.display="none";
    }
    //-->function check(){
    if(document.wyform.new_flb.value==""){
    alert("请选择维修大类!");
    document.wyform.new_flb.focus();
    return false;
    }
    }function bz_submit(){
    if(document.wyform.new_flb.value==""){
    alert("请选择维修大类!");
    document.wyform.new_flb.focus();
    return false;
    }
    wyform.action="edit_bz.asp";
    wyform.submit();
    }
    </script>
    <td height="28"> <select name="new_flb" style="width:120" onChange="javascript:lbchange(this.options[this.selectedIndex].value)">
    <option value="">---维修大类---</option>
    <%
      sql_fl="select new_flb from new_flb order by id desc"
      set fl=conn.execute(sql_fl)
      slb=fl("new_flb")
      do while not fl.eof
    %>
    <option value="<%=fl("new_flb")%>"><%=fl("new_flb")%></option>
    <%
    fl.movenext
    loop
    %>
      </select>
    <select name="new_slb" style="width:120;display:none;" id="ifDisplay" >
      <option value="">---维修小类---</option>
      </select>
    <select name="cx">
    <option value="轿车">轿车</option>
    <option value="货车">货车</option>
    <option value="客车">客车</option>
      </select>  </td>应该是没考虑动态对象,帮我看看怎么改?高烧初愈,发现脑子完全思考不起来。。
      

  3.   

    为什么我改为
    function lbchange(locationid,obj_id)
    {document.wyform.new_slb[obj_id].length = 1;
    获取ID依然不行呢??