清原研修/9 http://www.ark-web.jp/sandbox/wiki/455.html

[edit]

目次

[edit]

掲示板をAjaxにする

カテゴリー掲示板をAjaxにする
優先順位至急
イテレーションイテレーション1
状態完了
完了予定日2007/9/3
工数
対応者清原

[edit]

サーバー側で次のようにPHPを組んでおく

モード1: GETパラメータにpageというパラメータがない場合

処理: 1. 最初のページの記事をBoardClass2から受け取りboard2.tplを使って描画する

モード2: GETパラメータにpageというパラメータがある場合

処理: 1. 与えられたpageパラメータのページのコメントをBoardClass2から受け取る
      2. あたらしくcomments.tplというテンプレートを用意しそれを使って、受け取ったコメントを表示する
[edit]

ページ上の「次へ」をクリックするとAjaxを使って次のページを表示するようにする

[edit]

プログラム

var ReWrite = function(){
    window.onload = this.OnLoadWindow;
}
ReWrite.prototype ={
    OnLoadWindow: function(){
        var tag = document.getElementsByTagName('a');
        var ulr = document.links[0].search;
        tag[0].onclick = function() {func.MakeRequest('board.php'+ulr);return false;};
    },
    MakeRequest: function(url){
       var http_request = false;
       if(window.XMLHttpRequest){
            http_request = new XMLHttpRequest();
        }else if(window.ActiveXObject){
           try {
               http_request = new ActiveXObject("Msxml2.XMLHTTP");
           }catch(e){
               try{
                   http_request = new ActiveXobject("Microsoft.XMLHTTP");
               } catch(e){
               }
           }
       }
       if (!http_request){
           alert('Cannot create XMLHTPP instance');
           return false;
       }
       http_request.onreadystatechange =  function(){func.ViewContent(http_request);};
       http_request.open('GET',url,true);
       http_request.send(null);
    },
    ViewContent: function(http_request){
        if (http_request.readyState == 4){
            if(http_request.status == 200){
                 var doc = http_request.responseText;
                 document.getElementById('result').innerHTML = doc;
            }else{
                alert('NG');
            }
        }
    }
}
var func = new ReWrite();

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2007-09-03 (月) 13:58:04 (1722d)

アークウェブのサービスやソリューションはこちら