• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:フレームを使ったサブウィンドウから親ウィンドウへのデータセット)

フレームを使ったサブウィンドウから親ウィンドウへのデータセット

HitomiKuroseの回答

  • ベストアンサー
回答No.1

window.top.opener でどうでしょう?

sumomo0423
質問者

お礼

おぉ~~~!!! 出来ました! ありがとうございます。 また機会があれば是非!

関連するQ&A

  • サブウィンドウと、親ウィンドウについて

    これは、データベース絡みでの質問になると思いますがよろしくお願いします。 ここの前の質問でも同じようなものがあり、流用できたらと試してみましたがうまくいきません。それは、以下の手順によってデータを操作しようと考えているのですが・・・ (1)親ウィンドウにサブウィンドウを呼び出すボタンを設置する。 (2)呼び出されたサブウィンドウにデータを入力すると親ウィンドウのデータも一緒にデータベースに登録される。 と、いう手順でしたいと考えており、サブウィンドウ側に、 function copy(){ document.form1.text1.value = opener.parent.left.document.form2.text1.value; } とし、サブウィンドウに親ウィンドウからデータを持ってくるために <input type="hidden" name="text1" onChange="copy()"> という隠しフィールドを設け、親からデータを格納させています。 また、上にある、「left」は親をフレームわけしているのでフレーム名です。(持ってくるデータは、form1にあり、そこにボタンを設置しています)説明不足でしたら補足いたしますので、よろしくお願いします。考え方でも結構です。

  • サブウィンドウを開くタイミングで親ウィンドウからデータを渡す

    親ウィンドウ、サブウィンドウを両方開いた状態でデータを受け渡す方法は見かけるのですが、 サブウィンドウを初めて開くタイミングで親ウィンドウからデータを渡す方法はありますでしょうか? 現在以下のように書いています。 親ウィンドウ function openLicense(sub, index){ w = window.open('', 'publish', 'toolbar=no,); w.document.open(); w.document.form.password_index.value=index; document.form.submit(); w.focus(); } サブウィンドウ <input name="password_index" type="HIDDEN" value=""> が、「w.document.form.password_indexはnullまたはオブジェクトではありません」 とエラーになります。何かいい方法はないでしょうか。

  • 子ウィンドウから親ウィンドウのテキストフィールドにデータを表示する

    子ウィンドウのリンクをクリックするとそのリンクの内容が親ウィンドウのテキストフィールドの中に表示されるというのを作りたいのですが、 親ウィンドウ <html> <head> <title>サブウィンドウから親ウィンドウのテキストフィールドにデータを表示する</title> <script language="JavaScript" type="text/JavaScript"> <!-- function MM_openBrWindow(theURL,winName,features) { //v2.0 window.open(theURL,winName,features); } //--> </script> </head> <body> <a href="javascript:;" onClick="MM_openBrWindow('subwindow.html','','width=160,height=160')">open</a> <form name="myFORM"> <input type="text" name="tBox"> </form> <form name="myFORM2"> <input type="text" name="tBox2"> </form> </body> </html> 子ウィンドウ <html> <head> <title>サブウィンドウから親ウィンドウのテキストフィールドにデータを表示する</title> <script Language="JavaScript"> <!-- function setData() { window.opener.document.myFORM.tBox.value="灯油ストーブ"; } function setData2() { window.opener.document.myFORM2.tBox2.value="シャワー"; } // --> </script> </head> <body> <a href="#" onClick="setData()">灯油ストーブ</a> <a href="#" onClick="setData2()">シャワー</a> </body> </html> これではリンク数とテキストフィールド数が同じじゃないといけないですよね。 作りたいのはテキストフィールドは15個あって、リンクの方は70個ぐらいあります。リンクをクリックするとテキストフィールドの中へ順々に表示させたいのですが、どうしたらよいのでしょうか? どうかアドバイスをお願いいたします。

  • window.openで開いた子ウィンドウから親ウィンドウのjavascriptを実行するには

    window.openで開いた子ウィンドウから親ウィンドウのjavascriptを実行するにはどうしたらよいのでしょうか。 子ウィンドウから <INPUT TYPE="button" value=\"実行\" onClick=opener.document.jikkou();> や <INPUT TYPE="button" value=\"実行\" onClick=opener.jikkou();> 等のボタンを作ってみましたが、無反応でした。 すいません。宜しくお願いします。

  • 親フレームの変数にアクセス(JavaScript)

    [index.html] <script src="script.js"></script> <frameset rows="50%,*" frameborder="1"> <frame src="content1.html"name="cont1"> <frame src="content2.html" name="cont2"> </frameset> [script.js] var test_text="てすと"; [content1.html] <form> <input type="text" name="in"> <input type="button" onClick="window.parent.test_text = document.forms[0].in.value;" value="IN"> </form> [content2.html] <form> <input type="text" name="out"> <input type="button" onClick="document.forms[0].out.value = window.parent.test_text;" value="OUT"> </form> のようになっています。 「index.html」の「script.js」の変数に、「content.1html」と「content2.html」からアクセスしたいです。 ですが、フレームになっているため、思うような動作をしてくれません。 よろしくお願いします。

  • 親ウィンドウで動的に作成したhidden値をサブウィンドウから削除

    QNo.4132708 複数のボタンに対するActionと動的hiddenについて で皆様に色々とアドバイスを頂いたものです。 しかし根本的な解決には至らず、また、皆様のお知恵を頂きたく 思います。 現在の問題点としてはサブウィンドウ側でtarget属性とname属性の 削除をonload時に行おうとしていますが、Firefoxだとうまくいき、 IE6だとうまくいかないことまではわかりました。 IE6でもうまくいくようにするにはどうしたらよいか お知恵をいただければ幸いです。 IEだとremoveChildがうまくいかないようなので、その他方法があれば よろしくお願い致します。 =====================機能 ここから===================== 入力内容を確認する画面があり、その画面からは実際にデータを 書き込む機能(1)と一時的に書込み、その結果を別ウィンドウで出力 するプレビュー機能(2)を考えています。 (1)も(2)もAction先は同じCGIで、プレビューの場合のみあるhidden値を 持たせ、Action先のCGI側でそのhiddenが存在すればプレビュー機能(2)、 なければ通常登録機能(1)と処理を分けています。 =====================機能 ここから===================== =====================画面 ここから===================== ※<>はHTMLタグを示す <form>          確認画面           ----------+---------------------------------+ |データ1 | 入力内容1 | +-------------------------------------------+ |データ2 | 入力内容2 | ----------+---------------------------------+ |データ3 | 入力内容3 | +-------------------------------------------+ +--------------+   +--------------+ | プレビュー |   |  登録   | +--------------+   +--------------+ <input type="hidden" name="data1" value="入力内容1" /> <input type="hidden" name="data2" value="入力内容2" /> <input type="hidden" name="data3" value="入力内容3" /> </form> ※登録は以下で実行  <input type="button" value="登録" onClick="javascript: run();" /> ※プレビューは以下で実行  <input type="button" onClick="javascript: preview('30');" value="プレビュー" /> =====================画面 ここまで===================== =====================JS ここから===================== function preview(id){ var q = document.createElement('input'); q.type = 'hidden'; q.name = 'name'; q.value = id; newWindow =window.open("about:blank","preName","menubar=no,toolbar=no,location=no,status=no,scrollbars=yes,resizable=yes"); newWindow.focus(); document.forms[0].appendChild(q); document.forms[0].target = 'preName'; document.forms[0].action = run.cgi; document.forms[0].method = 'post'; document.forms[0].submit(); } function run(){ document.forms[0].action = run.cgi; document.forms[0].method = 'post'; document.forms[0].submit(); return; } =====================JS ここまで===================== =====================サブウィンドウ側 ここから===================== <body onLoad="opener.document.forms[0].removeChild(opener.document.forms[0].name);opener.document.forms[0].setAttribute('target', '');"> =====================サブウィンドウ側 ここまで=====================

  • フレーム内から開いたサブウィンドウから親ウィンドウの別フレームの操作を行いたい

    メニュー、メインの2つのフレーム分けしてあるページで、メインページからサブウィンドウを開きます。 その後、以下の2アクションを同時に行いたいのです。 (1)サブウィンドウから親ウィンドウ(メイン)をジャンプさせる (main.html→main2.cgi) (2)親ウィンドウ(メニュー)の画像をAからBに変更させる 現在window.openerでメインページの変更はできているのですが、 メニューページの画像のを変更がうまくできません。 方法としては (1)サブから親ウィンドウ(画像=A)を閉じさせて、再び親ウィンドウ(画像=B)を フレームセットごとムリヤリ開き直す。 (2)何らかの形でメニューページの情報を保存しておき、Onloadでサブからのジャンプ時に変更させる (3)サブから親ウィンドウのフレーム越し操作を行なって、メニューページの画像を変更する。 どの方法が可能でしょうか、もっといい方法がありますか。 お知恵拝借させてください。よろしくお願いします。 以下、かなり省略したソース説明です。 【フレームセット→cgi。記述は省略】 <frameset>  <frame src="menu.html" name="menu">  <frame src="main.html" name="main"> </frameset> 【メニュー→html】 <img src="A"> 【メイン→html】 function open_sub(url) { /**/ w = window.open(url, 'sub') } <!--本文--> <a href="javascript:open_sub('sub.html')">サブウィンドウ</a> 【サブ→html】 function change_main() { window.opener.location.href="main2.cgi?sub"; window.opener.focus(); } <!--本文--> <A HREF="JavaScript:change_main()">メインを変更</A>

  • サブウィンドウを閉じたときに親ウィンドウのリンク先

    サブウィンドウを閉じたときに親ウィンドウのリンク先 サブウィンドウを閉じたときに親ウィンドウを別URLに 飛ばすにはどうしたらよいですか? ちなみにサブウィンドウはボタンを押したらウィンドウが 閉じるという動きです。 下記のタグで実行できるのですが、 macのIE5.0で動きません。 IE5.0で動くようにしたいのですが・・・・ 下記がタグになります。 ご教授お願いします。 ======サブウインドウタグ======= <script type="text/JavaScript"> function jump_and_close() {  opener.location.href = "別URL";  window.close(); } </script> ======親ウィンドウへのリンク======= <input type="button" value="ボタン" onClick="jump_and_close()">

  • サブウィンドウから親画面に渡すには

    サブウィンドウでチェックを入れた項目を、「選択」というボタンを押すことで親画面のselectボックス内に表示させたいのですが、下記のどのようなコードを追加すればよろしいでしょうか。 --------------------------------------- <html> <head> <script LANGUAGE="JavaScript"> function WindowOpen(){ subWin=window.open(); subWin.document.open(); subWin.document.write("<html><body><form name='subform'>"); subWin.document.write("<input type='checkbox' name='check1'>東京"); subWin.document.write("<br><input type='checkbox' name='check2'>大阪"); subWin.document.write("<br><input type='checkbox' name='check3'>名古屋"); subWin.document.write("<br><input type='button' name='btn2' value='選択'>"); subWin.document.write("</form></body></html>"); subWin.document.close(); } </script> </head> <body> <form name="myform"> <input type="button" name="btn1" value="参照" onClick="WindowOpen();"> <select name="slct1" size="3" style="width:50%;"> <option> <option> <option> </select> </form> </body> </html>

  • サブウィンドウに値を渡して、CGIにPOSTしたい

    お世話になります。 javascript初心者です。 題名のようにPOSTした値をポップアップで確認して、CGIに渡そうとしています。 親ウィンドウのoya.htmは、 <html> <head><title>submitの確認をポップアップで確認</title> <script type="text/javascript"> <!-- function fnWinOpen() { window.open("pop_post.htm", "win", "width=150,height=20"); } //--> </script> </head> <body> <form name="Form_name"> <input type="text" name="Data" /> <input type="button" value="送信" onClick="fnWinOpen()"> </form> </body> </html> でして、 サブウィンドウのpop_post.htmは、 <html> <head><title>submitの確認をポップアップで確認</title> <script type="text/javascript"> <!-- function fnStart() { document.getElementById("SubData").value = window.opener.Form_name.Data.value; } function job( url ) { 後はこの関数を完成さればと考えている } //--> </script> </head> <body onload="fnStart()"> <form method="post" > <input type="text" id="SubData" /> <input type="button" name="sub" value="送信job" onClick="job('thanks.cgi')"> </form> </body> </html> とやっています。 サブウィンドウに値を表示させることはできました。 後は、サブウィンドウの方の job関数で、submitするにはどうすればようのでしょう? 最後に値が渡されるCGI、thanks.cgiでは、そのデータを登録させ、「ありがとうございました」を表示させるものです。 また、そもそもこの方向でうまくできますか? よろしくお願いします。