サブウィンドウでフォーム送信することが多い。

サブウィンドウでフォーム送信した後、自動的に閉じてくれるとありがたい。
さらに、親ウィンドウからデータを送っている場合は、親ウィンドウを更新して初期化しておきたい。

サブウィンドウを開く親ウィンドウのサンプルプログラムはこちらで作成した物を使用。

サブウィンドウを開く。

今回はsample1.htmを開く。

今度はsample1.htmに細工する。

<head>
<title>sample1</title>
<script type="text/javascript">
function rank()
{
  document.myform.submit();
  window.opener.location.reload();
  window.close();
}
</script>
</head>

<body>
<h1 align="center">sample1</h1>
<form name="myform">
<input type='text' name='keiken' value=aaa>
<input type="button" value="送信" onClick="rank()">
</form>
<div id="ichi">bbb</div>
</body>
</html>

送信ボタンをクリックするとrank()関数に飛び、

document.myform.submit();でフォーム送信、

window.opener.location.reload();で親ウィンドウを更新し、

window.close();でウィンドウを閉じる。

sample1.htm単体を表示させて送信ボタンを押すと、window.opener.location.reload();
が働いて、sample1.htmが更新される。
上記行をコメントアウトすると今度は「ウィンドウを閉じても良いですか」と
ダイアログが出るが、サブウィンドウとして親ページから表示させているページのため、ダイアログは出ない。

単体で表示させた物をダイアログなしで閉じる方法は特殊な方法を使わないといけないので Googleで検索してください。