JavaScriptで子画面から親画面の関数をする方法です。
基本的に子画面から親画面を操作したい場合には、「window.opener」を使います。例えば、親画面のmyFunc()という関数を実行した場合には、子画面で「window.opener.myFunc()」と記述することで実行できます。
サンプルコード
親画面
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
<html> <head> <title>親画面</title> <script> var subWin = window.open("sub.html","subWin","width+320,height=240"); function myFunc() { alert("親画面の関数実行!!"); } </script> </head> <body> 親画面 </body> </html> |
子画面
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
<html> <head> <title>子画面</title> <script> function call() { window.opener.myFunc(); } </script> </head> <body> <form name="myform"> <input type="button" value="親画面の関数実行" onClick="javascript:call();"> </form> </body> </html> |
子画面で「window.opener」により、親画面のwindowオブジェクトを取得しているイメージで、そのまま続けて「myFunc()」を記述して実行します。φ(.. )