JavaScript
親ウィンドウと子ウィンドウの間でデータのやり取りができるということで、呼び出された子ウィンドウから選択肢をクリックしたら親ウィンドウに反映されるようにしました。
親ウィンドウ側はまず、ヘッダ部分に関数を記述。
function OpenWin() { window.open("子ウィンドウで開くページ.html","子ウィンドウの名前","width=XX,height=YY"); }
アンカータグにでも関数を呼び出させて(href="JavaScript:openWinJ()"みたいに)こっちはOK
次は子ウィンドウで呼び出されるページの記述。
<html> <head> <title>テスト</title> <script Language="JavaScript"><!-- function setChara() { window.opener.document.formName.elements[N].value="A"; } function setChara1() { window.opener.document.formName.elements[N].value="B"; } // --></script> </head> <body> <center> <a href="#" onclick="setChara()">Aを送る</a><br> <a href="#" onclick="setChara()">Bを送る</a><br> <br> <a href="JavaScript: window.close()">閉じる</a> </center> </body> </html>
これでAのアンカーをクリックすると、親ウィンドウのN+1番目のフォーム部品の値にAが送られることになります。まぁ、即席だからこれでいっぱいだったし、テスト用ということで選択肢をふたつしか用意してなかったからいいんだけど、選択肢が増えれば増えるほど関数が増えることになり、ちょっとえらいことになりそうです。なんとかしなきゃねー…これも課題だな。