자바스크립트 게시물 페이징을하는데 ..어려움이있습니다.

자바스크립트 게시물 페이징을하는데 ..어려움이있습니다.

QA

자바스크립트 게시물 페이징을하는데 ..어려움이있습니다.

본문


<!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)을 넣어야겠죠;;;

답변을 작성하시기 전에 로그인 해주세요.
전체 421
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT