• ベストアンサー

親ウインドウから子ウインドウにデータを渡すには?

はたしてこの質問がASPなのか、Javascriptでできるものなのかわからないので、とりあえずこちらで質問させていただきます。 親ウインドウの入力フォームから、入力されたデータを、子ウインドウで表示するにはどうしたらよいのでしょうか? target="_blank" は子ウインドウのサイズを指定したいので、使わない方向でお願いします。 結局、親ウインドウからデータ入力→ボタンを押す→子ウインドウに親ウインドウのデータを表示・・・ がやりたいのです。 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • dw3w
  • ベストアンサー率63% (14/22)
回答No.1

こちらではJavaScriptを使って同様の事を実現しています。 実際には 1.画面上のテキストボックスに郵便番号を入力 2.検索ボタンをクリック 3.子ウィンドウが開いて検索結果の一覧を表示 というものです。 実際のロジックのポイントは検索ボタンのonClickイベントでJavaScriptの関数を起動し、子ウィンドウを開く時のURLにテキストボックスのvalueを付加してwindow.openしています。 例) <INPUT type="button" name="" value="住所検索" onClick="javaScript:openwin(document.forms[0].txtYuubin.value"> function openwin(data){  ret=window.open("serch.asp?key="+data);  } 子ウィンドウ側では、処理の冒頭でQueryStringを取得し、そのパラメータから住所を検索して画面に表示しています。データを表示するだけなら、QueryStringで取得した値を表示するだけですね。 がんばってください

hameggs
質問者

お礼

ありがとうございます。さっそくやってみましたところ、うまくいきました。 実の所、この後さらに問題がおこったのですが、もう少しがんばってみます。

関連するQ&A

  • 子ウインドウを閉じて 親ウインドウを更新

    初歩的なことなのかもしれませんが、ご教授いただけると助かります。 やりたい動作は、 親ウインドウから<a href="" target=_blank>で 子ウインドウを開きます。 子ウインドウで処理を行った後、 ----ここからの動作がわかりません----- 子ウインドウ上のボタンかアンカータグで 親を再読み込み 子を閉じる 親にフォーカス こんな動作をJAVASCRIPTで実現可能でしょうか? 結果的に、子が閉じられ、親が再読み込みされた状態でフォーカスがあたるようにできれば最高です。 暇なときでかまいませんので、どうぞよろしくお願いいたします。

  • 子ウインドウ(別窓)のURLとタイトルを取得し、親ウインドウのフォームに表示させる処理。

    JavaScriptを使って、次のような処理を実現したいのですが、可能なら是非お教え頂きたく、宜しくお願いします。 1.親ウインドウにあるボタン1を押すと子ウインドウ出現。 2.子ウインドウで目的のURLを表示させて・・・。 3.親ウインドウにあるボタン2を押すと・・・。 4.親ウインドウにあるフォーム1に子ウィンドウのURLを表示し、 5.同時に親ウインドウにあるフォーム2に子ウインドウのタイトル(<title>タグで囲まれた部分)を表示させる。 ・・・というものです。 どうぞ宜しくおねがいいたします。

  • CGIの出力結果を小窓ウィンドウで表示させたい

    フォームでボタンを押すとCGIの画面に飛ぶ流れなのですが、ボタンを押したときにJavaScriptの小窓のウィンドウで表示させたいのですが方法がわかりません。 「target」を使って下記のようにする方法も知っていますが、あえて「JavaScriptの小窓のウィンドウ」で出したのです。宜しくお願いします。 <form method="post" action="xx.cgi" target=_blank>

  • 子ウィンドウから親ウィンドウへの値代入

    こんにちは。 asp.net2.0を使い始めて間もないのですが、子ウィンドウから親ウィンドウへの値代入で困ってます。 親ウィンドウからボタンで子ウィンドウを表示し、子ウィンドウのGridViewで選択した値を親ウィンドウの テキストボックス(サーバーコントロール)に代入したいのですが、 ['window.opener.form1.TextBox1' は Null またはオブジェクトではありません。] というエラーが出てしまいます。 ネットで見つけたサンプルは、親、子ともにウェブフォームを使用しており、確かにうまくいくのですが、 私が作っているページはマスターページの中のコンテンツフォームを親としていて、うまくいきません。 ※但し、親側のコントロールをHTMLクライアントコントロールのINPUTタグにし、 さらにフォーム名をaspnetForm(ブラウザのソース表示でみたらそうなってました。自動生成?) にして ↓子ウィンドウのグリッド選択時ソース protected void GridView1_SelectedIndexChanged(object sender, EventArgs e) { string strScript; strScript = "<script language='javascript'>"; strScript += "window.opener.form1.TextBox1.value='aaaa';"; strScript += "window.close();"; strScript += "</script>"; Response.Write(strScript); } リテラルコントロールにしたり、TextBox1.valueではなくTextBox1.textにしてみたりと いろんなパターンを試しましたが、だめでした。 コンテンツフォームでは親のサーバーコントロールへの値代入は不可能なのでしょうか? そもそも、子ウィンドウでの検索というのはASP.NETでは、あまり一般的ではないのでしょうか? 宜しくお願いいたします。 (情報、不足してましたら教えてください。)

  • 子ウィンドウにログインフォームを作り、ログインと同時に子ウィンドウをクローズし親ウィンドウを切り替えたい。

    わかりにくいかも知れませんが説明させていただきます。 <a onclick="MM_openBrWindow('login.html','pict','width=520,height=360,toolbar=no,scrollbars=no')" href="javascript:void(0)">ログインはこちら</a> みたいなHTMLを親ウィンドウ(index.html)に入れてクリックすると子ウィンドウ(login.html)が開いてログインフォームがでてくるものを作ります。 その開いた子ウィンドウ(login.html)のフォームにユーザーはIDやPWを入れてログインボタンを押す。 ログインボタンを押すと子ウィンドウ(login.html)のフォームのデーターが親ウィンドウ(index.html)に渡りログインができる。 いらなくなった子ウィンドウ(login.html)はログインと共に閉じる。 この様な流れのものを作りたいと思っています。 JavaScriptは初歩的なことしか分からないのでGoogleなどで色々調べてはみたんですが良いサンプルがなく・・・。 イメージとしてはhttp://www.jocoso.jp/sonimのログイン方法みたいな感じです。 http://www.jocoso.jp/sonimにアクセスすると上の方にログインと言うボタンがありクリックするとログインフォームが子ウィンドウでひらきます。 もしjocoso会員の方がいらっしゃったら一度ログインしてみるとご理解いただけると思います。 分かりにくいかも知れませんがご指導宜しくお願いします。

  • 子ウィンドウから親ウィンドウの複数の項目へのデータ反映

    こんにちは。質問させて下さい。 入力項目が存在する親ウィンドウで リンクで子ウィンドウを表示します。 子ウィンドウで表示された<a>タグを押下すると、その情報が親ウィンドウの入力項目に反映されるまでは上手くいきました。 今困っているのは、 親ウィンドウで入力項目が複数だった場合に子ウィンドウで選択した情報を親ウィンドウのフォーカスが当っている入力項目にデータを反映したいと思っております。 こんな事ってできるのでしょうか? =========================== 【親ウィンドウ】 <a href="javascript:void(0)" onclick="window.open・・・>子ウィンドウ</a> <input type="text" name="A"><br> <input type="text" name="B"><br> <input type="text" name="C"><br> ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 【子ウィンドウ】 情報選択画面 =========================== 例えば、親ウィンドウBにフォーカスをあてて子ウィンドウを 開く。子ウィンドウで情報を選択したら親ウィンドウの入力項目Bに 選択した情報が反映されるという動きです。 どなたかご存知の方いらっしゃいましたらご教示下さい。 宜しくお願い致します。

  • 子ウィンドウから親ウィンドウへ値を受け渡す

    始めまして、 現在、ASPにてWebアプリの作成を行っております。 こちらの過去ログ(No.289153)にて親から子への処理は出来たのですが、その後、子ウィンドウでデータを選択して元の親ウィンドウへデータを渡して表示および処理を行いたいのですが、方法がわかりません。 参考になるページやサンプルがあったら教えていただけないでしょうか? よろしくお願いいたします。

  • 子ウィンドウでウィンドウサイズ固定にしてtarget=

    HPを作っていて親ウィンドウに↓のように <script language="JavaScript"> <!-- function winopen(url){ win=window.open(url,"host","scrollbars=1,width=780,height=480"); } //--> </script> ~略~ <a href="dougu/keito.html" target="_blank" onClick="Javascript:winopen('dougu/keito.html');return false;"><img src="img/item-keito10.gif" width="50" height="38" border="0"> ウィンドウサイズを固定してtarget="_blank"で開いてさらにその子ウィンドウでも同じようにリンクを張って <script language="JavaScript"> <!-- function winopen(url){ win=window.open(url,"host","scrollbars=1,width=780,height=480"); } //--> </script> ~略~ <a href="../wash.html" target="_blank" class="style1" onClick="Javascript:winopen('../wash.html');return false;">こちら</a> とtarget="_blank"でウィンドウサイズを固定しして開きたいのですが同じウィンドウで開いてしまいます。 説明の仕方が分かりづらくてすみません。分からないようでしたら補足いたします。

  • 子ウィンドウから親ウィンドウへの値渡し

    親ウィンドウから子ウィンドウを開くとします。 その子ウィンドウのテキストフィールドに入力した値を、子ウィンドウ上のボタンを押下した際に親ウィンドウのテキストフィールドに表示させることってできるんでしょうか?

  • 子ウィンドウの操作

    処理概要:親ウィンドウからボタンクリック時にjavascriptのみで      子ウィンドウを作成し、遷移させた後、子ウィンドウの      フォームをサブミットする。 -------以下ソース-------- var url = "/index.html"; hWin=window.open("",""); window.hWin.location.href=url; setTimeout(a,10000); function a(){ window.hWin.document.form.submit(); // window.hWin.document.form.name.value = "住友"; // window.hWin.document.form.button1.click(); }  * index.html にはformというフォームがあり、nameという   テキストボックスとbutton1 というボタンをフォーム内に   持っているとします。 以上のような簡単なものですが、7行目のsubmitでこけます。 window.hWin.document.formがないようでヌルポになります。 親から子ウィンドウのサブミットをjavascriptだけで制御 できないでしょうか。 また、できればコメントアウトしているところ、 DOM要素を指定して値をテキストボックスに入れたり フォームをボタンによりクリックしてサブミットもしたいです。 ちなみに、setTimeout を利用しているのは、遷移が終わり、子ウィンドウの要素が確実に作成されている状態にするためです。 また、遷移先にSSLを設定している部分と設定していない部分があり、javascriptの途中で"ここに遷移していいですか?"みたいなダイアログが表示されます。"混雑しているページの処理"をインターネットオプションから"有効"にする(ダイアログを表示するではなく)と表示されないのですが、奨励されないので 他にいい方法はないでしょうか。

専門家に質問してみよう