- ベストアンサー
チェックボックスのチェックをつけたら
まだJavaScriptかじりたてで,未熟ですみません。 出来るかどうかも分からないのですが, HPから小ウィンドウを開き、その小ウィンドウ内にチェックボックスと名前があります。 「チェックボックス」にチェックをつけた人の名前を、ボタンもなにも押さずに閉じるで、小ウィンドウを閉じたらもとのHPの指定した場所に名前を表示する事ってできるのでしょうか? ちなみに人は複数選択する可能性もあります. もしできたら、実践してみたいのですが、教えていただけないでしょうか?すみません。よろしくおねがいします。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
親ウィンドウで子ウィンドウを名前を付けて開きます。 子ウィンドウでは'onUnload'(ページ移動時イベント)を用いて、閉じた時に'document.form名.checkbox名.checked'でチェックの判定を行います。 チェックされていたら、親ウィンドウの指定textbox(opener.document.form名.textbox名.value)に値を渡します。 'opener'は自らを開いた親ウィンドウを指定しています。 例) ------------------------------------ 親ウィンドウ <HTML> <HEAD> <SCRIPT language=JavaScript> function w_open(){ w=window.open("test.html", "test", "width=200,height=200"); } </SCRIPT> </HEAD> <BODY> <FORM name="form_1"> <INPUT type="text" name="t_1"> <INPUT type="text" name="t_2"> <INPUT type="button" value="開く" onClick="w_open()"> </FORM> </BODY> </HTML> ------------------------------------ 子ウィンドウ(test.html) <HTML> <HEAD> <SCRIPT language=JavaScript> function check(){ if(document.form_2.c1.checked){ opener.document.form_1.t_1.value=document.form_2.c1.value; } if(document.form_2.c2.checked){ opener.document.form_1.t_2.value=document.form_2.c2.value; } } </SCRIPT> </HEAD> <BODY onUnload="check()"> <FORM name="form_2"> <INPUT type="checkbox" value="テスト1" name="c1">テスト1 <BR> <INPUT type="checkbox" value="テスト2" name="c2">テスト2 </FORM> </BODY> </HTML> ------------------------------------
お礼
wolfwoodさんありがとうございます。 すっごくわかりやすい解説をしていただき感激です. とても勉強させたいただきました。 また何か困ったら相談させて下さい宜しくお願いします. 本当にありがとうございました.