- ベストアンサー
window.openerを使っての操作
- JavaScript初心者のため、JavaScriptのwindow.openerを使用して子ウィンドウから親ウィンドウに値を渡す方法について質問します。質問文章からセンセーショナルなタイトルを作成しました。
- また、実装したい環境はIE6ですが、貼り付けたソースコードを実行してもうまく動作しません。Google Chromeでも同じ結果です。ソースコードに何か誤りがあるのでしょうか。
- さらに、チェックボックス式の選択肢を用意し、子ウィンドウで「選択」ボタンが押されたときに、チェックが入っている選択肢の内容が親ウィンドウのテキストエリアに渡される方法についても教えてください。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
<html> <head> <title>子ウィンドウ</title> <script> function setFormInput(val){ if(!window.opener || window.opener.closed){ //親ウィンドウが存在しない window.close(); } else{ //window.openerで親ウィンドウのオブジェクトを操作 window.opener.document.getElementById('title01').innerHTML = val; window.opener.document.form01.text01.value = val; window.close(); } } function OC(){ var d=document.getElementsByTagName("input") var a=[] for(var i=0;i<d.length;++i){ if(d[i].checked){a.push(d[i].nextSibling.textContent)} } setFormInput(a.join()) } </script> </head> <body> 好きな果物を選んで下さい。<br> <input type="checkbox">いちご<br> <input type="checkbox">りんご<br> <input type="checkbox">みかん<br> <input type="button" value="選択" onClick="OC();window.close();return false;"> </body> </html>
その他の回答 (1)
- b0a0a
- ベストアンサー率49% (156/313)
<script language="text/javascript"> が間違っています
お礼
おぉぉぉぉ!!ありがとうございます! ご指摘の通り、<script type="text/javascript"> に書き換えたところ、IEで動きました。 とりあえずサンプルを動かすことができたこと、とてもうれしいです。 作りたいプログラムについて、もありますので もう少し「質問中」にさせていただきますね。 自分でもいろいろやってみます。 道が開けました。ありがとうございます。