■親ウィンドウ側
◆手順1【セレクトボックスの設置とスクリプトの起動】(ボタンから実行)
-----次の行から(copy)-----
<select name="PhotoMenu" title="表示する写真を選択して下さい">
<option value="001">初冬の大井川/photo001</option>
<option value="002">初冬の大井川/photo002</option>
<option value="003">初冬の大井川/photo003</option>
</select>
<input type="button" value="表示" onclick="m_winOpen_modal2()">
-----上の行まで(copy)-----
◆手順2【javascript】(ダイアログを表示)
※<head>〜</head>に記述します
※ダイアログに引き渡す値は、セレクトメニューのname属性を指定したvalue属性の設定値です。
document.all.PhotoMenu.value(PhotoMenuはセレクトメニューのname属性)
-----次の行から(copy)-----
function m_winOpen_modal2() {
window.showModalDialog("b006/sample_b006_2.html",document.all.PhotoMenu.value,
"dialogHeight:190px; dialogWidth:265px; scroll:0; status:0; resizable:1;");
}
-----上の行まで(copy)-----
■ダイアログボックス(子ウィンドウ側)
◆手順3【テキストボックスの設置】引き渡された値の表示
※引き渡された値を表示するテキストボックス(FORM.Photo.value)です。
-----次の行から(copy)-----
<form name="FORM">
[初冬の大井川/photo
<input type="text" name="Photo" size="3" readonly style=border-style:none;background-color:#c0c0c0;text-align:center;>]
を表示していいですか?
</form>
-----上の行まで(copy)-----
◆手順4【javascript】引き渡された値の取得
※<head>〜</head>に記述します
※引き渡された値をwindow.dialogArgumentsで取得しテキストボックス(FORM.Photo.value)に表示しています。
-----次の行から(copy)-----
function Menu() {
FORM.Photo.value=window.dialogArguments;
}
-----上の行まで(copy)-----
◆手順5【スクリプトの実行】ダイアログボックスオープン時に実行
※<body〜>に記述します
-----次の行から(copy)-----
<body onload="Menu()">
-----上の行まで(copy)-----
◆手順6【OKボタンの設置】
※[OK]ボタンクリックするとOk()を実行後、ダイアログボックスをクローズします。
-----次の行から(copy)-----
<button type="submit" value="ok" title="ok" onclick="Ok();window.close()">OK</button>
<button type="reset" title="cancel" onclick="javascript:window.close()">Cancel</button>
-----上の行まで(copy)-----
◆手順7【javascript】([OKボタン]選択時に実行する
-----次の行から(copy)-----
function Ok() {
var Photo_Path="photo/" + FORM.Photo.value + ".JPG";
var WINWIDTH; //画像の幅
var WINHEIGHT; //画像の高さ
var subWin;
subWin=window.open("","WIN_b006","top=100,left=50,scrollbars=0,resizable=1,toolbar=0,menubar=0,location=0,directories=0,status=0");
subWin.document.open(); //ドキュメントストリームを開く
subWin.document.write("<html><head>"); //以下にドキュメントを書き出す
subWin.document.write("<title>サンプル</title>");
subWin.document.write("<style type='text/css'> body { font-family: MS Pゴシック; font-size:11pt; background-color:#000000; color:#ffffff;} </style></head>");
subWin.document.write("<body onBlur='focus()'>");
subWin.document.write("<div style='top:20px; left:20px; position:absolute;'> " +"<a href='JavaScript:window.close()' title='Windowを閉じる'>Windowを閉じる</a><br><br>");
subWin.document.write("<img src='" + Photo_Path + "' name='PIC' border='1'></div>");
subWin.document.write("</body></html>");
subWin.document.close(); //ドキュメントストリームを閉じる
WINWIDTH=subWin.document.PIC.width+50; //ウィンドウの幅(画像幅+余白)
WINHEIGHT=subWin.document.PIC.height+100; //ウィンドウの高さ(画像高さ幅+余白)
subWin.resizeTo(WINWIDTH,WINHEIGHT); //ウィンドウのサイズ変更)
}
-----上の行まで(copy)-----
■応用技
※サンプル画面で[ok]ボタンを選択して画像を表示する技は
[技k010]ウィンドウをオープンしたとき画像サイズに合わせてウィンドウサイズを変える、を参照して下さい。
|