Home  >  Article  >  Web Front-end  >  BUG, can't be solved. Brainstorm ideas. _html/css_WEB-ITnose

BUG, can't be solved. Brainstorm ideas. _html/css_WEB-ITnose

WBOY
WBOYOriginal
2016-06-24 12:10:42986browse

<script>         var theTable = document.getElementById("tablelsw");       var totalPage = document.getElementById("spanTotalPage");       var pageNum = document.getElementById("spanPageNum");           var spanPre = document.getElementById("spanPre");       var spanNext = document.getElementById("spanNext");       var spanFirst = document.getElementById("spanFirst");       var spanLast = document.getElementById("spanLast");             var totalPaget = document.getElementById("spanTotalPaget");       var pageNumt = document.getElementById("spanPageNumt");             var spanPret = document.getElementById("spanPret");       var spanNextt = document.getElementById("spanNextt");       var spanFirstt = document.getElementById("spanFirstt");       var spanLastt = document.getElementById("spanLastt");             var numberRowsInTable = theTable.rows.length;       var pageSize = 5;       var page = 1;             //下一页       function next()    {                 hideTable();                      currentRow = pageSize * page;           maxRow = currentRow + pageSize;           if ( maxRow > numberRowsInTable ) 			maxRow = numberRowsInTable;           for ( var i = currentRow; i<maxRow; i++ ){               theTable.rows[i].style.display = '';           }           page++;                      if ( maxRow == numberRowsInTable ) { 			nextText(); 			lastText(); 		}   		else{			nextLink();		}		           preLink();         firstLink();    }             //上一页       function pre()    {                 hideTable();                      page--;   	                  currentRow = pageSize * page;           maxRow = currentRow - pageSize;           if ( currentRow > numberRowsInTable ) 	   currentRow = numberRowsInTable;           	for ( var i = maxRow; i<currentRow; i++ )	{               theTable.rows[i].style.display = '';           }                                 if ( maxRow == 0 )	{ 		preText(); 		firstText(); 	}     	preLink();        nextLink();           lastLink();       }             //第一页       function first(){           hideTable();           page = 1;           for ( var i = 0; i<pageSize; i++ ){               theTable.rows[i].style.display = '';           }           showPage();                      preText();           nextLink();           lastLink();       }             //最后一页       	function last()	{           	hideTable();           	page = pageCount();           	currentRow = pageSize * (page - 1);           	for ( var i = currentRow; i<numberRowsInTable; i++ )		{               		theTable.rows[i].style.display = '';           	}           	showPage();                      	preLink();           	nextText();           	firstLink();       	}            	function hideTable()	{           	for ( var i = 0; i<numberRowsInTable; i++ )		{               		theTable.rows[i].style.display = 'none';           	}       	}             	function showPage()	{           	pagepageNum.innerHTML = page;           	pagepageNumt.innerHTML = page;       	}             //总共页数   	function pageCount()	{           	var count = 0;           	if ( numberRowsInTable%pageSize != 0 ) count = 1;            	return parseInt(numberRowsInTable/pageSize) + count;   	}   	function pageNow()	{           	var nowpage = 0;           	if ( numberRowsInTable%pageSize != 0 ) count = 1;            	return parseInt(numberRowsInTable/pageSize) + count;   	}          //显示链接   	function preLink()	{ 		spanPre.innerHTML = "<a href='javascript:pre();'>上一页</a>"; 		spanPret.innerHTML = "<a href='javascript:pre();'>上一页</a>";	}   	function preText()	{ 		spanPre.innerHTML = "上一页";		spanPret.innerHTML = "上一页"; 	}         	function nextLink()	{ 		spanNext.innerHTML = "<a href='javascript:next();'>下一页</a>"; 		spanNextt.innerHTML = "<a href='javascript:next();'>下一页</a>";	}   	function nextText()	{ 		spanNext.innerHTML = "下一页"; 		spanNextt.innerHTML = "下一页";	}         	function firstLink()	{		spanFirst.innerHTML = "<a href='javascript:first();'>第一页</a>"; 	 	spanFirstt.innerHTML = "<a href='javascript:first();'>第一页</a>";	}   	function firstText()	{ 		spanFirst.innerHTML = "第一页"; 		spanFirstt.innerHTML = "第一页";	}         	function lastLink()	{ 		spanLast.innerHTML = "<a href='javascript:last();'>最后一页</a>"; 		spanLastt.innerHTML = "<a href='javascript:last();'>最后一页</a>";	}   	function lastText()	{ 		spanLast.innerHTML = "最后一页"; 		spanLastt.innerHTML = "最后一页";	}             //隐藏表格   	function hide()	{           	for ( var i = pageSize+1; i<numberRowsInTable; i++ )		{               		theTable.rows[i].style.display = 'none';           	}                     		totalPage.innerHTML = pageCount();           	pageNum.innerHTML = '1';                      	totalPaget.innerHTML = pageCount();           	pageNumt.innerHTML = '1';              		firstLink();		preLink();        	nextLink();           	lastLink();   	}         hide();   </script>  

上面是JS部分的代码。
这个页面,有以下几个问题:
1.分页显示出来之后,第一次打开页面总是显示多一个,但是当点击上一页、下一页、第一页或者最后一页过之后就会变得正常。
2.当前页总是显示不正确。
3.当是第一页的时候,点一次上一页,上一页的按钮仍然没有被禁用。


回复讨论(解决方案)

有测试代码?

急等解决。。。。。

有测试代码?
我有整个页面的代码,要不发给你你给看下?

引用 1 楼  的回复:

有测试代码?

我有整个页面的代码,要不发给你你给看下?
多?。。不多直接发上来吧

引用 3 楼  的回复:

引用 1 楼  的回复:

有测试代码?

我有整个页面的代码,要不发给你你给看下?

多?。。不多直接发上来吧
我一开始是直接发的,超了好多。。
所以就只留下了JS的部分。

<html><head><meta http-equiv="content-type" content="text/html; charset=UTF-8"><meta http-equiv="Pragma" content="no-cache"><link href="wancfg_data/tecom_style.css" rel="stylesheet" type="text/css"><title></title><!-- base href="http://172.16.6.159/webPhone.pbx" --><script language="javascript">var sys_language = '0';</script><script language="javascript" src="wancfg_data/prompt.js"></script><script language="javascript" src="wancfg_data/tecomWebUtil_1.js"></script><script language="javascript" src="wancfg_data/tecomWebUtil_2.js"></script><script language="javascript">var fxsnum = 1;var fxs = 150; var localsip = 5060;var localrtp = 30000;var serverport = 5070;var httpport = 80;var linebusy = 0;document.onkeydown=function(){ var k=event.keyCode; if(k==13&&event.srcElement.type=="text"){  event.keyCode=0;  event.returnValue=false;  btnSave(0); }}function btnSave(reboot){ if(ValidateForm(phoneform) != true)  return false; var loc = "webPhone.pbx?"; with(document.forms[0]) {  if(gwsipport.value <= 0)   {         alert('The port value should be between 1024 and 65535.');           return false;   }  var Letters="1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz .@;:\+-_#*";  var p_displayname = "";       for(i=0,j=0;i<displayname.value.length;i++){      if(displayname.value.charCodeAt(i)!=160) {       if(Letters.indexOf(displayname.value.charAt(i)) == -1){    alert('Invalid characters for FXS display name.')     return;       }       if(displayname.value.charAt(i)=='+') {         p_displayname += "$43";       }      else if(displayname.value.charAt(i)=='#') {         p_displayname += "$35";       }       else                p_displayname += displayname.value.charAt(i);           }           else{              p_displayname += "$32";         }     }  for(var i = 0; i < 49; i++)  {   if(i == 0)    loc += "regphone" + i + "=" + eval("regphone" + i.toString()).value;   else    loc += "&regphone" + i + "=" + eval("regphone" + i.toString()).value;   loc += "&b" + i + "=" + encodeUrl(eval("b" + i.toString()).value);   loc += "&d" + i + "=" + eval("d" + i.toString()).value;   loc += "&c" + i + "=" + eval("c" + i.toString()).value;   loc += "&pickup" + i + "=" + eval("pickup" + i.toString()).value;  }  loc += "&fxsdaycos=" + fxsdaycos.value;  loc += "&fxsnightcos=" + fxsnightcos.value;  loc += "&fxspickupgrp=" + fxspickupgrp.value;  loc += "&gwexpire=" + gwexpire.value;  loc += "&gwsipport=" + gwsipport.value;  loc+= '&displayname='+p_displayname;  if(serverport != parseInt(gwsipport.value))   alert("The SIP Port value was changed, and it will take effect after reboot.");  loc += "&reboot=" + reboot;         loc += '&rebootwait=' + linebusy; } var code = "location='" + loc + "'"; eval(code);}</script></head><body><blockquote><form name="phoneform"><input name="ExtLimitMin" value="101" validtype="ExtMinnum" type="hidden"><input name="ExtLimitMax" value="150" validtype="ExtMaxnum" type="hidden"><br><table> <tbody><tr>  <td colspan="5" class="gentitle">SIP Authentication</td> </tr> <tr>  <td colspan="5" class="comment">This table allows you to configure the authentication for SIP client.</td> </tr> <tr>  <td colspan="5" class="comment">The current range of the extension numbers is from 101 to 150.</td> </tr> <tr>  <td colspan="5" class="comment">NOTE: If you remove a phone number from the table , its configuration file and the voice messages will be removed from the system.</td> </tr></tbody></table><br><center><div><span id="spanFirstt">第一页</span> 		<span id="spanPret">上一页</span> 		<span id="spanNextt">下一页</span> 		<span id="spanLastt">最后一页</span> 		第<span id="spanPageNumt"></span>页/共		<span id="spanTotalPaget"></span>页 </div><table rules="none" bordercolorlight="#ffffff" bordercolordark="#ffffff" border="1" cellpadding="4" cellspacing="0"> <tr>  <td class="subject">No.</td>  <td class="subject">Phone Number</td>  <td class="subject">Password</td>  <td class="subject">Day COS</td>  <td class="subject">Night COS</td>  <td class="subject">PickUp Group</td> </tr><tbody id="tablelsw">

下面这一部分重复49次
<tr>  <td class="content">1</td>  <td class="content"><input name="regphone0" value="101" maxlength="4" validtype="PhoneNum"></td>  <td class="content"><input name="b0" value="11" maxlength="24" validtype="NoSpacePasswd" type="password"></td>  <td class="content">   <select name="d0">    <option value="0" selected="selected">      0</option>    <option value="1">      1</option>    <option value="2">      2</option>    <option value="3">      3</option>    <option value="4">      4</option>    <option value="5">      5</option>    <option value="6">      6</option>    <option value="7">      7</option>   </select>  </td>  <td class="content">   <select name="c0">    <option value="0" selected="selected">      0</option>    <option value="1">      1</option>    <option value="2">      2</option>    <option value="3">      3</option>    <option value="4">      4</option>    <option value="5">      5</option>    <option value="6">      6</option>    <option value="7">      7</option>   </select>  </td>  <td class="content">   <select name="pickup0">    <option value="0" selected="selected">      1</option>    <option value="1">      2</option>    <option value="2">      3</option>    <option value="3">      4</option>   </select>  </td> </tr>

</tbody></table><br></center><table> <tbody><tr>  <td colspan="5" class="gentitle">Registration Configuration</td> </tr> <tr>  <td colspan="5" class="comment">The settings allow you to change the parameters for SIP Registration.</td> </tr> <tr>  <td colspan="5" class="comment">NOTE: You need to reboot the system to make the changes to take effect.</td> </tr></tbody></table><br><center><table> <tbody><tr>  <td class="subject">Minimal Expire</td>  <td class="content"><input name="gwexpire" value="60" maxlength="5" validtype="Expire"></td>  <td class="subject">(10 - 3600)</td> </tr> <tr>  <td class="subject">SIP Port</td>  <td class="content"><input name="gwsipport" value="5070" maxlength="5" validtype="GWPort"></td>  <td class="subject">(1024 - 65535)</td> </tr></tbody></table><br><table> <tbody><tr>  <td class="operate">   <input value="Save and reboot" onClick="btnSave(1)" type="button">       <input value="Save Settings" onClick="btnSave(0)" type="button">       <input value="Cancel Changes" onclick='window.location.href="webPhone.pbx"' type="button">  </td> </tr></tbody></table></center></form></blockquote></body></html>

加上最上面的JS代码,就是所有的页面代码了。

1.分页显示出来之后,第一次打开页面总是显示多一个,但是当点击上一页、下一页、第一页或者最后一页过之后就会变得正常。
2.当前页总是显示不正确。
3.当是第一页的时候,点一次上一页,上一页的按钮仍然没有被禁用。
.太多了..还是说的建议把..
1.
2这2个问题应该是和你的加载数据有关吧。。
3.你可以写判断语句。。当是第一页的时候那个按钮不可用。。

引用楼主  的回复:
1.分页显示出来之后,第一次打开页面总是显示多一个,但是当点击上一页、下一页、第一页或者最后一页过之后就会变得正常。
2.当前页总是显示不正确。
3.当是第一页的时候,点一次上一页,上一页的按钮仍然没有被禁用。

.太多了..还是说的建议把..
1.
2这2个问题应该是和你的加载数据有关吧。。
3.你可以写判断语句。。当是第一页的时候那个按钮不可用。。
页面显示的那个
第X页/共Y页
这里面的X总是显示的1,所以我也想根据这个X做出判断,但是实现不了啊。。

如果是静态分页的话,我这有几个,要的话,我发你邮箱

如果是静态分页的话,我这有几个,要的话,我发你邮箱
好的好的。
我邮箱是466464418@qq.com

引用 9 楼  的回复:

如果是静态分页的话,我这有几个,要的话,我发你邮箱

好的好的。
我邮箱是466464418@qq.com
发了,个人觉得“js分页”比较适合你上面的代码,因为和你贴的代码比较相识,我之前的项目也是照着这个改的

引用 10 楼  的回复:

引用 9 楼  的回复:

如果是静态分页的话,我这有几个,要的话,我发你邮箱

好的好的。
我邮箱是466464418@qq.com

发了,个人觉得“js分页”比较适合你上面的代码,因为和你贴的代码比较相识,我之前的项目也是照着这个改的
好的,谢谢了。
我刚刚自己又仔细看了看,大部分问题都解决了。就剩下当前页码显示不正确的问题了。
谢谢哦~

引用楼主  的回复:
1.分页显示出来之后,第一次打开页面总是显示多一个,但是当点击上一页、下一页、第一页或者最后一页过之后就会变得正常。
2.当前页总是显示不正确。
3.当是第一页的时候,点一次上一页,上一页的按钮仍然没有被禁用。

.太多了..还是说的建议把..
1.
2这2个问题应该是和你的加载数据有关吧。。
3.你可以写判断语句。。当是第一页的时候那个按钮不可用。。
也得谢谢你哦~
我每次在做UI有问题求助的时候,你都很快地来帮助我~

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn