ホームページ  >  記事  >  ウェブフロントエンド  >  バグ、解決できません。ブレーンストームアイデア。 _html/css_WEB-ITnose

バグ、解決できません。ブレーンストームアイデア。 _html/css_WEB-ITnose

WBOY
WBOYオリジナル
2016-06-24 12:10:42986ブラウズ

<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有问题求助的时候,你都很快地来帮助我~

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。