WEB相談室

Webページ作成に関しての何でも掲示板です。

タイトル:サブウィンドウの連携について

0:[投稿] 和田 武 [2006/06/29 09:09 ] [環境:IE6 IIS]

初めて投稿いたします。
よろしくお願いいたします。

下記実現したいのですが、
@親ウインドウでボタンクリック
Aサブウィンドウオープン
Bサブウィンドウのリストボックスから選択した内容を親ウィンドウのテキストボックスに表示

※サブウィンドウのリストボックスの内容は、DBからセットいたします。

環境について
サーバー:Windows2000SRV IIS
クライアント:WindowsXP
言語:ASP、VBSCRIPT、Javascript

以上です。


1:[回答] 燕雀 [2006/06/29 10:37 ]

[親window]
<script type="text/javascript">
var w;
function newWindowOpen() {
 w = window.open("test11.html", "Test", "width=200,height=200");
 }
</script>

<body>
<textarea name="ryoritext" id="ryoritextid" style="width:15em;height:15em;">
</textarea>
<input type="button" value="選択" onClick="newWindowOpen();">
</body>

[子window(test11.html)]
<script type="text/javascript">
function selectChange(selectobj) {
var textareaobj= window.opener.document.getElementById("ryoritextid");
var selecttext= selectobj.options[selectobj.selectedIndex].text;
var selectvalue= selectobj.options[selectobj.selectedIndex].value;
textareaobj.innerHTML= selecttext+"("+selectvalue+")";
}
</script>

<select name="ryouri" onChange="selectChange(this);">
<option value="nikujyaga">肉じゃが</option>
<option value="sukiyaki">すき焼き</option>
<option value="kare-">カレーライス</option>
</select>
</body>


2:[質問] 和田 武 [2006/07/01 02:27 ]

燕雀さん回答ありがとうございます。
ひとつ質問なんですが、
子ウィンドウを***.aspにしたいんです。
リストボックスの内容をDBより取得したいためです。
上記test11.htmlをtest11.aspにしたら、サブウィンドウは
表示しますが、親ウィンドウにデータをセットできません。
コードの変更が必要でしょうか。
初心者なもので、よろしくお願いいたします。


3:[回答] 燕雀 [2006/07/02 15:46 ]

クライアントブラウザだけでの動作なので,サーバサイドのロジックは関係ない.
たぶん JavaScript でエラーが出ている.
どんなエラーが出ているか,確認する必要がある.

IE を javascript のデバッグモード にして動かしていますか?
[ツール] -> [インターネットオプション[O]...] -> [<詳細設定>タブ] -> [<ブラウズ>グループ] -> [スクリプトのデバッグを使用しない(Internet Explorer)]と,[スクリプトのデバッグを使用しない(その他)]のチェックマークを外す -> [OK]ボタンを押す -> ブラウザ を再起動する.

javascript でエラーが発生すると,[デバッグしますか?]のメッセージボックスが出るので,[はい]をクリック.

一般的で軽微な javascript のエラーは FireFox ブラウザ の方がデバッグしやすい.
[ツール(T)] -> [JavaScript コンソール(C)]
で出るコンソール画面にエラーが表示されて,クリックすると,スクリプトを表示してエラー行を示してくれる.

回答(必須): 状態:

お名前(必須):

URL:




[戻る]