サブウィンドウから親ウィンドウを参照するには、window.openerで参照できます。
サンプルソース
例)子画面(sub.html)で入力された値を親画面(main.html)にセットする
| 
					 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15  | 
						<html lang="ja"> <head> <meta charset="utf-8"> <title>親画面サンプル</title> <script> function openwindow(){   var win = window.open('sub.html'); } </script> </head> <body>   <input type="text" id="oyaTxt1" value="">   <input type="button" value=" サブウィンドウを開く " onclick="openwindow();"> </body> </html>  | 
					
| 
					 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26  | 
						<html lang="ja"> <head> <meta charset="utf-8"> <title>子画面サンプル</title> <script> function kakutei(){   if(!window.opener || window.opener.closed){     alert("呼び出し元が既に閉じられています。");     return false;   }   var koTxt = document.getElementById('koTxt1').value;  //子画面の値を取得   var oyaTxt = window.opener.document.getElementById('oyaTxt1');  //値をセットするオブジェクトを取得   if(oyaTxt != null){  //値をセットする先が存在する場合は値をセットする     oyaTxt.value = koTxt   }   window.close(); } </script> </head> <body>   <input type="text" id="koTxt1" value="hoge">   <input type="button" value=" 確定 " onclick="kakutei();"> </body> </html>  | 
					
実行サンプル
ここに子画面で入力された値がセットされます。
解説
window.openで開いたウィンドウは、window.openerで親ウィンドウを参照できます。
(window.openの詳細は「サブウィンドウを開く」を参照ください。)
子画面から親画面へ値を渡したい場合は、以下のように親画面のオブジェクトを取得して value等へ値を渡せばOKです。
| 
					 1  | 
						var obj = window.opener.document.getElementById('<親画面のテキストボックス等のID>');  | 
					
子画面を閉じたい場合は、以下のようにすれば閉じることができます。
| 
					 1  | 
						window.close();  | 
					
その他メモ
- 親画面が既に閉じられている状態で値をセットするとjavascriptエラーとなります。
 - エラーを回避したい場合は、値をセットする前にwindow.openerで取得したオブジェクトをnull判定すればOKです。