jsで親ウィンドウに値を渡す

  1. <!DOCTYPE html>
  2. <html lang="ja">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>jsで親ウィンドウに値を渡す</title>
  6. <script type="text/javascript">
  7. // サブウィンドウを開く処理
  8. function disp(url){
  9.   window.open(url, "window_name", "width=250,height=350,scrollbars=yes,resizable=yes,status=yes");
  10. }
  11. </script>
  12. </head>
  13. <body>
  14. <h1>「jsで親ウィンドウに値を渡す」の親ウィンドウ側</h1>
  15. <form name="hoge_form">
  16. <textarea name="hoge_textarea"></TEXTAREA>
  17. </form>
  18. <p><a href="js010_passing_value_child.html" target="window_name" onClick="disp('js010_passing_value_child.html')">子ウィンドウを開く</a></p>
  19. <hr>
  20. ちなみに子ウィンドウのHTMLソースは下記。
  21. <div style="border:1px solid #ccc;margin-top:1em;padding:0.5em;">
  22. <pre style="margin:0;">
  23. &lt;!DOCTYPE html>
  24. &lt;html lang="ja">
  25. &lt;head>
  26. &lt;meta charset="UTF-8">
  27. &lt;title>「jsで親ウィンドウに値を渡す」の子ウィンドウ側&lt;/title>
  28. &lt;script type="text/javascript">
  29.   function disp(MsgText){
  30.     if(!window.opener || window.opener.closed)
  31.     {
  32.       // メインウィンドウの存在をチェック
  33.       // 存在しない場合は警告ダイアログを表示
  34.       window.alert('メインウィンドウがありません');
  35.     }
  36.     else
  37.     {
  38.       window.opener.document.hoge_form.hoge_textarea.value=MsgText;
  39.     }
  40.   }
  41. &lt;/script>
  42. &lt;/head>
  43. &lt;body>
  44. &lt;h1 style="font-size:0.8em;">「jsで親ウィンドウに値を渡す」の子ウィンドウ側&lt;/h1>
  45. &lt;a href="" onclick="disp('「諦める!」 それも勇気だ!')">メッセージ1&lt;/a>&lt;br />
  46. &lt;a href="" onclick="disp('夜なのに 僕が見るのは あおいそら')">メッセージ2&lt;/a>&lt;br />
  47. &lt;/body>
  48. &lt;/html>
  49. </pre>
  50. </div>
  51. <div style="font-size:10pt;text-align:right;margin-top:0.5em;">
  52. <a href="//tips.recatnap.info/" target="_top">PCスキルの小技・忘却防止メモ</a> -
  53. <a href="//tips.recatnap.info/wiki/" target="_top">PCスキルの小技・忘却防止メモのまとめ(wiki)</a>
  54. </div>
  55. <div style="font-size:10pt;text-align:center;margin-top:0.5em;padding:0.5em;border-top:1px solid #ccc;">
  56. Copyright &copy; 2009 by PCスキルの小技・忘却防止メモ. All rights reserved.
  57. </div>
  58. </body>
  59. </html>