关于js的分页问题

[code="java"][/code]<%@ page language="java" import="java.util.*" pageEncoding="GBK"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<!-- function insertStr(){ var strs = document.getElementById("strid").value; var str =ttt.value; strs = strs+str+";" alert(strs); document.getElementById("strid").value = strs; instStr(1); } //-->

  <TABLE id="recordTable" border="1">   
  </TABLE> 
  <span id="span1"></span><br/>
  <INPUT TYPE="text" NAME="ttt" id="ttt">
  <INPUT TYPE="button" VALUE="添加" ONCLICK="insertStr()">


<br> function instStr(spanid){</p> <pre><code> var str = document.getElementById(&quot;strid&quot;).value; </code></pre> <p>// alert(str);<br> //字的总集合<br> var strArray = str.split(&quot;;&quot;);<br> //页数<br> var page =spanid;</p> <pre><code> end = (page-1)*4+4; var sumPage = Math.round((strArray.length-1)/4 ); if(Math.round((strArray.length-1)/4 )&gt;0) sumPage = sumPage+1; var strrs=&quot;&quot;; for(k = 1; k &lt;= sumPage; k++){ if(k==1) strrs +=&quot;&lt;span id=&#39;&quot;+k+&quot;&#39; onclick=&#39;instStr(&quot;+k+&quot;)&#39;&gt;首页&lt;/span&gt;&quot;; else{ if(k==sumPage){ strrs +=&quot;&lt;span id=&#39;&quot;+k+&quot;&#39; onclick=&#39;instStr(&quot;+k+&quot;)&#39;&gt;末页&lt;/span&gt;&quot;; }else strrs +=&quot;&lt;span id=&#39;&quot;+k+&quot;&#39; onclick=&#39;instStr(&quot;+k+&quot;)&#39;&gt;&quot;+k+&quot;&lt;/span&gt;&quot;; } } document.getElementById(&quot;span1&quot;).innerHTML=(strrs); if(page==sumPage){ strrs = &quot; &lt;TABLE id=&#39;recordTable&#39; border=&#39;1&#39;&gt; &lt;/TABLE&gt; &quot;; for(i = (page-1)*4;i &lt; strArray.length-1;i++){ if(Math.round(i/2)&gt;0) var row = recordTable.insertRow(recordTable.rows.length); var col = row.insertCell(0); col.innerHTML = &quot;&lt;span id=&#39;&quot;+i+&quot;&#39; name=&#39;&quot;+strArray[i]+&quot;&#39;value=&#39;&quot;+strArray[i]+&quot;&#39; onclick=&#39;strPage()&#39;&gt;&quot;+strArray[i]+&quot;&lt;/span&gt;&quot;; } alert(page); }else{ for(i = (page-1)*4;i &lt; end;i++){ if(i%2==0) var row = recordTable.insertRow(recordTable.rows.length); var col = row.insertCell(0); col.innerHTML = &quot;&lt;span id=&#39;&quot;+i+&quot;&#39; name=&#39;&quot;+strArray[i]+&quot;&#39;value=&#39;&quot;+strArray[i]+&quot;&#39; onclick=&#39;strPage()&#39;&gt;&quot;+strArray[i]+&quot;&lt;/span&gt;&quot;; } } } function strPage(){ var str= document.getElementById(1).value; alert(str); } </code></pre> <p>

[i][/i]谢谢高手请指点一下为什么每次点击下一页的时候总是在下面加而不是直接显示那一页的内容呢。请帮忙解决一下。
[b]问题补充:[/b]
问题解决了删除了前面的行了,可是到了最后一页的时候就变样了,这是为什么呢
[b]问题补充:[/b]
是我没有复制好!!谢谢了!!解决了!!!!:)

贴个js的好像没问题^_^

因为换页instStr()函数每次都是insertRow,而没有把以前的row清掉,所以一直都是递增了
[code="html"]
<%@ page language="java" import="java.util.*" pageEncoding="GBK"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<!-- function insertStr(){ var strs = document.getElementById("strid").value; var str =ttt.value; strs = strs+str+";" alert(strs); document.getElementById("strid").value = strs; instStr(1); } //-->




function instStr(spanid){ var str = document.getElementById("strid").value; // alert(str); //字的总集合 var strArray = str.split(";"); //页数 var page =spanid; end = (page-1)*4+4; var sumPage = Math.round((strArray.length-1)/4 ); if(Math.round((strArray.length-1)/4 )>0) sumPage = sumPage+1; var strrs=""; for(k = 1; k <= sumPage; k++){ if(k==1) strrs +="<span id='"+k+"' onclick='instStr("+k+")'>首页</span>"; else{ if(k==sumPage){ strrs +="<span id='"+k+"' onclick='instStr("+k+")'>末页</span>"; }else strrs +="<span id='"+k+"' onclick='instStr("+k+")'>"+k+"</span>"; } } document.getElementById("span1").innerHTML=(strrs); if(page==sumPage){ strrs = " <TABLE id='recordTable' border='1'> </TABLE> "; removeAllRows(); for(i = (page-1)*4;i < strArray.length-1;i++){ if(Math.round(i/2)>0) var row = recordTable.insertRow(recordTable.rows.length); var col = row.insertCell(0); col.innerHTML = "<span id='"+i+"' name='"+strArray+"'value='"+strArray[i]+"' onclick='strPage()'>"+strArray[i]+"</span>"; } alert(page); }else{ removeAllRows(); for(i = (page-1)*4;i < end;i++){ if(i%2==0) var row = recordTable.insertRow(recordTable.rows.length); var col = row.insertCell(0); col.innerHTML = "<span id='"+i+"' name='"+strArray[i]+"'value='"+strArray[i]+"' onclick='strPage()'>"+strArray[i]+"</span>"; } } } function strPage(){ var str= document.getElementById(1).value; alert(str); } function removeAllRows(){ var rowNum=recordTable.rows.length; for (i=0;i<rowNum;i++) { recordTable.deleteRow(i); rowNum=rowNum-1; i=i-1; } }


[/code]

好像code的html格式有点问题,我贴的removeAllRows()里面的参数名怎么double了,bug???

[code="js"]
function removeAllRows(){

 var rowNum=recordTable.rows.length;
 for (i=0;i<rowNum;i++)
 {
     recordTable.deleteRow(i);
     rowNum=rowNum-1;
     i=i-1;
 }

}
[/code]