| 動的表示 
 動的表示
 
 <?xml version="1.0" encoding="utf-8"?>
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml">
 <head>
 <meta HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8" />
 <title>動的表示</title>
 <script src="../js/prototype.js" type="text/Javascript"></script>
 <script src="../js/test4.js" type="text/Javascript"></script>
 </head>
 <body>
 <form id=frm name=frm>
 <input type=radio name=rdo>うらしまたろう<br />
 <input type=radio name=rdo>ももたろう<br />
 <input type=radio name=rdo>かぐやひめ<br />
 <table><tr><td style="width:200px">
 <div id=dispMessage></div>
 </td></tr></table>
 </form>
 </body>
 </html>
 
 <!--
 ------------------------------------------------------------------------
 
 test4.js
 
 //画面が呼ばれると実行されます
 window.onload = function()
 {
 //初期化処理
 init();
 //イベント等を登録します
 Event.observe
 (
 'frm', 'click',
 changeRadioButton
 );
 }
 //処理に使用するオブジェクト
 var objRadio;        //ラジオボタン
 var objDisplay;        //画面に表示する内容
 
 //初期化処理
 function init()
 {
 //ラジオボタンをインスタンス化します
 objRadio = new clsRadio( document.frm.rdo );
 
 //ラジオボタンの切り替えに必要なページ(URL)を準備します
 var urlPage =
 {
 0 : 'story1.html',
 1 : 'story2.html',
 2 : 'story3.html'
 }
 //ラジオボタン切り替え時に画面に表示させるエリアを準備します
 objDisplay = new clsDisplay( urlPage, 'dispMessage' );
 }
 
 //ラジオボタンが切り替わった処理
 function  changeRadioButton()
 {
 //選択されたインデックスを取得します
 var rdoNo = objRadio.getSelectNo();
 //画面に選択した内容を反映します
 objDisplay.changeDisplayStory( rdoNo );
 }
 
 //ラジオボタン用のクラスオブジェクトを生成します
 var clsRadio = Class.create();
 clsRadio.prototype =
 {
 frmRadio : null
 ,
 initialize : function( frmRadio )
 {
 this.frmRadio = frmRadio;
 }
 ,
 //選択されたインデックスを取得します
 getSelectNo : function(){
 for( i = 0;  i < this.frmRadio.length; i++ )
 {
 //チェックのあるラジオボタンのインデックスを返します
 if( this.frmRadio[i].checked )
 {
 return i;
 }
 }
 
 return null;
 }
 };
 
 //画面表示用のクラスオブジェクトを生成します
 var clsDisplay = Class.create();
 clsDisplay.prototype =
 {
 urlPage : null
 ,
 ajaxID : null
 ,
 ajaxOption : {
 method     : 'get'
 ,
 //更新処理に失敗した場合、次の処理を実行
 onFailure  : function()
 {
 alert( "表示処理に失敗しました。" );
 }
 }
 ,
 //コンストラクタ
 initialize :
 function( urlPage, ajaxID )
 {
 this.urlPage = urlPage;
 this.ajaxID = ajaxID;
 }
 ,
 //画面に選択した内容を反映します
 changeDisplayStory : function( rdoNo )
 {
 //「Ajax.Updater」
 //指定したURLの内容に置き換えます
 //第1引数:id
 //第2引数:url
 //第3引数:オプション
 var objAjax = new Ajax.Updater
 (
 this.ajaxID,
 this.urlPage[rdoNo],
 this.ajaxOption
 );
 }
 };
 
 ------------------------------------------------------------------------
 -->
 
 
 
 
 
 |  |