- - PR -
[ASP.NET2.0]ポップアップウィンドウについて
1
投稿者 | 投稿内容 | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2006-08-17 17:44
お世話になります。
ポップアップウィンドウについてご教授頂きたくお願い致します。 1.画面Aから画面Bをポップアップで起動 2.画面Bで選択した内容を画面Aに反映 上記の動作を行いたい場合、 画面B内で[Response.Write("window.opener.document.forms[0].XXXX.value]と いうような感じで、画面Aに書き込むしか方法はないのでしょうか? 他に方法をご存じの方がいらっしゃいましたら ご教授お願い致します。 | ||||||||||||
|
投稿日時: 2006-08-17 17:53
画面Bがモーダルになってもいいのであれば
showModalDialog を使用し、戻り値を書き込むこともできると思います。 | ||||||||||||
|
投稿日時: 2006-08-17 20:03
選択した時点でサーバー処理が特に必要ないなら、Katzeさんの方法でやるか、 画面Bを表示した時点で、画面Aに反映するようなjavascriptを 各行のボタン(なのかは知らないけど)にセットしておくのもいいでしょう。 そうでないなら、画面A自体を読み込みなおさせたほうがスマートである場合もあります。 | ||||||||||||
|
投稿日時: 2006-08-17 21:33
window.openを用いて画面を起動し、起動された画面から親画面のフィールドに
値を設定しようとしているのですが、エラーが発生してうまく動作できません。 コード(抜粋) [親画面] <html xmlns="http://www.w3.org/1999/xhtml" > <head runat="server"> <title>無題のページ</title> <script language=javascript type="text/javascript"> <!-- function MakeChild() { window.open("subwindow.aspx"); } --> </script> </head> <body> <form id="mainform" runat="server"> <div> window.openでの起動<br /> <br /> <asp:Button ID="Button1" runat="server" Text="表示" Width="72px" /> <br /> <br /> <asp:Label ID="Label1" runat="server" Text="Label" Width="360px"></asp:Label></div> </form> </body> </html> [子画面] <html xmlns="http://www.w3.org/1999/xhtml" > <head runat="server"> <title>無題のページ</title> <script language=javascript type="text/javascript"> <!--// function Finish(nRet) { if (nRet == 0) { window.opener.document.mainform.Label1.value = "ご利用どうもありがとうございます。"; } else { window.opener.document.mainform.Label1.value = "また後日ご利用をご検討くださいね!"; } window.close(); } //--> </script> </head> <body> <form id="form1" runat="server"> <div> <asp:Button ID="Button1" runat="server" Text="はい" Width="56px" /> <asp:Button ID="Button2" runat="server" Text="いいえ" /></div> </form> </body> </html> [エラー内容] window.opener.document.mainform.Label1はNULLまたはオブジェクトではありません。 ちなみに単なるHTMLで実装するとうまく動作しました。 ASP.NETにすることで不可能なことがあるのでしょうか? | ||||||||||||
|
投稿日時: 2006-08-17 22:14
ASPX側だけ見せられてもボタン押下時に何をしてるかわかりません。そもそもこの場合サーバーコードは
必要なのでしょうか?特に親画面、window.openするだけなら普通のinputタグでいいですよね。 子画面も<asp:Button である必要がないような気がしますが、仮にサーバー処理が必要だとしても OnClientClickなんていうプロパティがあったりします。
spanはForm部品じゃないのでそのようにはアクセスできなかったと思うのですが。
| ||||||||||||
|
投稿日時: 2006-08-17 23:27
[ メッセージ編集済み 編集者: 未記入 編集日時 2007-01-19 21:45 ] | ||||||||||||
|
投稿日時: 2006-08-18 10:32
お世話になります。
わかりにくいソースを記載してしまい申し訳ありません。 >べる様、ぜうす様 エラーの原因はラベルを使用していたからでした。 テキストボックスを使用したらうまくできました。 |
1