2.把document.all("r"+col+"c1").focus();删掉,这句话没用
3.改成
For i = 1 To Request.Form.Count
    '--------判断每个Request.Form.Key(i)
Next
4.不用div不行吗?

解决方案 »

  1.   

    重新设计了一下模式, 在前台用脚本把所有的数据按行与列的格式组合成一个大字符串放在 hide 里传递到后台, 然后在后台用 split 将字符串拆分还原成单个数据.<%@ Language=VBScript %>
    <% option explicit %>
    <%
       dim a, b, row, cell, hide, str
       hide = Request.Form("hide")
       a = Split(hide, chr(14))
       for row=0 to ubound(a)
         b = Split(a(row), chr(15))
         'for cell=0 to ubound(b)
         '  str = str &", "& b(cell)
         'next
         str = str & Join(b, ", ") &"<br>"
       next
       response.write "str=" & str & "<BR>"
    %>
    <HTML>
    <HEAD>
    <META NAME="GENERATOR" Content="Microsoft Visual Studio 6.0">
    <TITLE>js-tablegrid</TITLE>
    <style type="text/css">
    <!--
    .dgtext {
        BACKGROUND-COLOR: transparent;
        BORDER-WIDTH: 0px;
        BORDER-BOTTOM: 1px solid block;
        FONT-SIZE: 9pt;
        HEIGHT: 18px;
        PADDING-LEFT: 1px;
        PADDING-TOP: 2px;
        WIDTH: 65px
    }
    div {
        FONT-SIZE: 9pt
    }
    -->
    </style>
    <script language="javascript">
       //以下由CSDN的JavaScript版斑竹meizz(梅花雪)帮忙解决。
       var colnum=11;
       function delRow(e)
       {
           var grid = document.getElementById("grid");
           var tr = e.parentNode.parentNode;
           if(grid.rows.length>2) tr.removeNode(true);
       }
       function ShowNext(e) {
           var grid = document.getElementById("grid");
           col=grid.rows.length;   //行数
           if(event)
           {
              window.event.keyCode     = 0;
              window.event.returnValue = false;
              window.event.cancelBubble=true;
           }
           if(e)
           {
               var tr = e.parentNode.parentNode;
               if(tr.rowIndex<col-1)
               {
                   grid.rows[tr.rowIndex+1].cells[1].childNodes[0].focus();
                   return;
               }
           }
           var gridtr=grid.insertRow(col);  //表格添加行
           for(i=0; i<colnum; i++)
           {
               var gridtd=gridtr.insertCell(i);   //行添加列
               if(i<colnum-1)
               {
                   if(i==0)
                       gridtd.innerHTML="<input type=button value=- onclick='delRow(this)'>";
                   else
                       gridtd.innerHTML="<input type=text class=dgtext>";
               } else {
                   gridtd.innerHTML="<input type=text class=dgtext onKeyDown=\"if(event.keyCode==13){ShowNext(this);}\">";
               }
           }
           grid.rows[col].cells[1].childNodes[0].focus();
       }
       function contentJoin()
       {
         var tab = document.getElementById("grid");
         var str = "";
         for(var i=1; i<tab.rows.length; i++)
         {
           var s = "";
           for(var k=1; k<tab.rows[i].cells.length; k++)
           {
             s += "\x0f"+ tab.rows[i].cells[k].childNodes[0].value;
           }
           str += "\x0e"+ s.substr(1);
         }
         document.thisform.hide.value = str.substr(1);
       }
    </script>
    </HEAD>
    <body bgcolor=#d4d0c8>
    <form name="thisform" method="post" action="test.asp" onsubmit="contentJoin()">
    <textarea name="hide" style="width:0; height:0; display: none"></textarea>
    <table id="mbody" width=820 height=300 cellpadding=0 cellspacing=0 align=center valign=top>
      <tr>
        <td><input type="submit" value="保存数据"></td>
      </tr>
      <tr align=center><td>(考试成绩明细表)</td></tr>
      <tr>
        <td valign=top align=center>
           <table id="grid" width=800 border=1 bordercolor=#dcdcdc
           onKeyDown="if (event.keyCode==13) event.keyCode=9;"
           bgcolor=#eff8fc cellpadding=0 cellspacing=0 align="center">
              <tr align=center bgcolor=#006699 height=24><td></td>
               <td whith=20><font color=white>姓名</font></td>
               <td whith=20><font color=white>语文</font></td>
               <td whith=20><font color=white>数学</font></td>
               <td whith=20><font color=white>外语</font></td>
               <td whith=20><font color=white>物理</font></td>
               <td whith=20><font color=white>化学</font></td>
               <td whith=20><font color=white>历史</font></td>
               <td whith=20><font color=white>政治</font></td>
               <td whith=20><font color=white>地理</font></td>
               <td whith=20><font color=white>生物</font></td>
              </tr>
              <script language="javascript">ShowNext();</script>
           </table>
        </td>
      </tr>
    </table>
    </form>
    </BODY>
    </HTML>
      

  2.   

    一楼兄弟,如果不用div,那么我的页面将随着行数的增加而翻滚,
    我不想这样,我就是想让他在一个div中翻滚,而我的页面没有翻滚。