新しいウインドウを開く

  window オブジェクトの open メソッドを使用する



  
<SCRIPT language=JavaScript>

var Child;

function RefWindow() {

	Child = window.open( "http://www.yahoo.co.jp" );

}

</SCRIPT>

<HTML>
<HEAD>
<META http-equiv="Content-type" content="text/html; charset=Shift_JIS">
</HEAD>

<BODY>
<FORM name=frmMain method=post action=<?= $_SERVER['SCRIPT_NAME'] ?>>

	<INPUT name=Data type=text>
	<INPUT name=RefButton type=button value="参照" onClick='RefWindow();'>
	<INPUT name=SendButton type=submit value="送信">

</FORM>
</BODY>
</HTML>

<SCRIPT for=window event=onload language=JavaScript>
</SCRIPT>

<!-- *******************************************************
 デバッグ用 POST メッセージの表示
******************************************************** -->
<PRE>
<?
print_r( $_POST );
?>
</PRE>
  



  開いたウインドウを親から閉じるには



開いたウインドウのハンドルがそのウインドウのwindowオブジェクトなので、
以下のようなJavaScriptを実行すると閉じる事ができます。

  
<INPUT name=Data type=text>
<INPUT name=RefButton type=button value="参照" onClick='RefWindow();'>

<INPUT name=CloseButton type=button value="閉じる" onClick='Child.close();'>

<INPUT name=SendButton type=submit value="送信">
  

しかし、このままでは開く前に閉じようとすると、Child が無効なのでエラーとなります。
それを避ける為には以下のように書きます。

  
<SCRIPT language=JavaScript>

var Child;

function RefWindow() {

	Child = window.open( "http://www.yahoo.co.jp" );

}

function CloseWindow() {

	if ( Child ) {
		Child.close();
	}

}

</SCRIPT>

<HTML>
<HEAD>
<META http-equiv="Content-type" content="text/html; charset=Shift_JIS">
</HEAD>

<BODY>
<FORM name=frmMain method=post action=<?= $_SERVER['SCRIPT_NAME'] ?>>

	<INPUT name=Data type=text>
	<INPUT name=RefButton type=button value="参照" onClick='RefWindow();'>

	<INPUT
		name=CloseButton
		type=button
		value="閉じる"
		onClick='CloseWindow();'
	>

	<INPUT name=SendButton type=submit value="送信">

</FORM>
</BODY>
</HTML>

<SCRIPT for=window event=onload language=JavaScript>
</SCRIPT>

<!-- *******************************************************
 デバッグ用 POST メッセージの表示
******************************************************** -->
<PRE>
<?
print_r( $_POST );
?>
</PRE>
  



  「参照」ボタンを押すたびに新しくウインドウを開かないようにするには

新しいウインドウに名前を付ける事で実現できます。

  
function RefWindow() {

	Child = window.open( "http://www.yahoo.co.jp", "MyChild" );

}
  



  ツールバーやメニューバーを非表示にするには

オプションを追加します

  
function RefWindow() {

	Child = window.open(
				"http://www.yahoo.co.jp"
				,"MyChild"
				,"toolbar=no,menubar=no"
			);

}
  

オプションはこの他にもあります。ここを参考にして下さい










  infoboard   管理者用   
このエントリーをはてなブックマークに追加





フリーフォントWEBサービス
SQLの窓WEBサービス

SQLの窓フリーソフト

素材

一般WEBツールリンク

SQLの窓

フリーソフト

JSライブラリ