자바스크립트 게시물 페이징을하는데 ..어려움이있습니다.
본문
<!DOCTYPE html>
<html>
<head>
<style type='text/css'>
.paging {
color:#DEDFDE;
font-size:15pt;
font-weight:normal;
font-family: "Helvetica Neue",Helvetica,Arial,sans-serif;
}
.paging a {
color:#7C6E5D;
font-size:15pt;
font-weight:normal;
text-decoration:none;
font-family: "Helvetica Neue",Helvetica,Arial,sans-serif;
}
</style>
</head>
<body>
<script type="text/javascript">
<!--
/*
ListScale : 한페이지 출력할 게시물수
PageScale : 페이지수를 표시할 갯수
Total : 전체 게시물수
Start : 리스트를 뿌릴 시작점(최근게시물로 order by 해서 뽑아 내는 자료라면 가장 최근 자료가 0번이 됨
PagingUrl : 클릭시 넘어갈 페이지
*/
function getPaging(ListScale,PageScale,Total,Start,PagingUrl) {
var Return = "";
var Page;
var PP;
var NP;
var PreStart;
var Ln;
var Vk;
var Nstart;
var Last;
if(Total > ListScale) {
Page = Math.floor(Start/(ListScale*PageScale));
Return = Return + "<table border='0' cellpadding='0' cellspacing='1'><tr><td align='center' class='paging'> ";
PP=Start-ListScale;
NP=Start+ListScale ;
// 처음으로 이동
if(PP>=0) {
Return = Return + " | <a href='" + PagingUrl + "&sStart=0'>First</a> ";
}
// sPageScale 만큼 앞으로 이동
if( Start+1 > ListScale*PageScale ) {
PreStart = ListScale*(Page*PageScale - 1);
Return = Return + " | <a href='" + PagingUrl + "&sStart=" + PreStart + "'>Previous</a> ";
}
// sPageScale 만큼 출력
for(i=0; i < PageScale ; i++) {
Ln = (Page * PageScale + i)*ListScale;
Vk= Page * PageScale + i+1;
if(Ln<Total) {
if(Ln!=Start) { Return = Return + " | <a href='" + PagingUrl + "&sStart=" + Ln + "' class='otherpage'>" + Vk + "</a> "; }
else { Return = Return + " | <span style='color:#FF8600;font-weight:bold;'>" + Vk + "</span> "; }
}
}
// sPageScale 만큼 뒤로 이동
if(Total > ((Page+1)*ListScale*PageScale)) {
Nstart=(Page+1)*ListScale*PageScale;
Return = Return + " | <a href='" + PagingUrl + "&sStart=" + Nstart + "'>Next</a> ";
}
// 마지막 페이지
if(NP<Total) {
Last = (Math.floor(Total/ListScale))*ListScale;
Return = Return + " | <a href='" + PagingUrl + "&sStart=" + Last + "'>Last</a> ";
}
Return = Return + " | </td></tr></table>";
}
return Return;
}
//-->
</script>
<script type='text/javascript'>
<!--
document.write(getPaging(10,10,101,90,''));
//-->
</script>
<script type="text/javascript">
function check(){
if(document.search.keyWord.value==''){
alert('검색어를 입력하세요');
document.search.keyWord.focus();
return false;
}
}
</script>
<form name = "search" method = "get" action ="a.jsp" onsubmit="return check()">
<table width="200" border="0" align="left" style="padding-left: 80px" >
<tr>
<td align ="center" valign="bottom">
<select name="keyField">
<option value="subject">Title</option>
<option value="writer">Name</option>
<option value="content">Content</option>
</select>
</td>
<td>
<input type="text" size="25" name="keyWord">
</td>
<td>
<input type="submit" value="Searching">
</td>
</tr>
</table>
</form>
</body>
</html>
=====여기서진도가안나가네요...ㅠㅠㅠnext 및First를 눌르면 1 및 10,11,12,13,14이렇게 되야되는대..안되고 파일이없다고나오네요...숫자를 눌러도그렇구요...해결..수정 부탁드립니다.ㅠ
!-->답변 2
마지막 파라미터에 PagingUrl을 넣거나 getPaging 함수내에 디폴트값을 정의해보세요.
document.write(getPaging(10,10,101,90,'xxx.xxx'));
또는
if(getPaging == '') getPaging = '?';
xxx.xxx를 그대로 넣으시면 안되고 지금 작업하는 파일이름(ex. myfile.php)을 넣어야겠죠;;;
답변을 작성하시기 전에 로그인 해주세요.