- ベストアンサー
javascriptでフォームに値を渡す
- javascriptを使用してフォームに値を渡す方法を解説します。
- ラジオボタンを使用して単一の値を渡す方法と、ボタンを押して複数の値を直接渡す方法を比較します。
- 具体的な例として、URLを使用して値を渡す方法も紹介します。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
#2です。 >親の関数getData()を呼び出すにはどういう方法がありますでしょうか? ご質問のサンプルでご提示の方法と同じです。 alert( window.opener.getData() ); とか。 考えてみたら、値を渡さなくても要素を返しちゃった方が便利かも… ということで、親側が var Data = { node : null, get : function(){ return this.node }, set : function(evt){ var t = evt.target || evt.srcElement; if(t.nodeName != "INPUT") return; this.node = t; window.open("hoge.html",""); } }; (↑少し記述法を変えてます。変数が少なくて済むかと…) 子側が alert( window.opener.Data.get().value ); みたいなのでも良いのかも知れません。 (実際の使い方がわからないのでよくわかりませんが)
その他の回答 (2)
- fujillin
- ベストアンサー率61% (1594/2576)
http://okwave.jp/qa/q7041449.html のほうが締め切られちゃったので、もうよろしいのかと思ったのですが… 単純にinuputのvalue値を渡せればよいと解釈して、以下で可能かと思います。 (前回、回答の3)の方法になっています。) 開いたhoge.html側から親の関数getData()を呼び出すことで値を取得可能です。 (変数dataにvalue値を覚えておいて、呼び出されたらそれを返しているだけ) (全角空白は半角に) <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"> <html lang="ja"> <head><title>sample</title> <meta http-equiv="Content-Style-Type" content="text/css"> <meta http-equiv="Content-Script-Type" content="text/javascript"> <script type="text/javascript"> <!-- var getData; var setData = (function(){ var data = ""; getData = function(){ return data; }; return function(evt){ var t = evt.target || evt.srcElement; if(t.nodeName != "INPUT") return; data = t.value; window.open("hoge.html",""); }; })(); //--> </script> </head> <body> <div onclick="setData(event)"> <input type="button" value="value1"> <input type="button" value="value2"> <input type="button" value="value3"> <input type="button" value="value4"> <input type="button" value="value5"> </div> </body> </html> *ちなみにNo1様の回答は、前回回答の2)の考え方とほぼ同じです。 (要は、渡す値を一時記憶しておく場所をどこに設定するかの違い。)
お礼
ありがとうございます、hoge.html側から親の関数getData()を呼び出すにはどういう方法がありますでしょうか?基本がなさすぎるためかそれでも理解できません、サンプルなどあれば助かります。
- yamada_g
- ベストアンサー率68% (258/374)
たとえば、oya.htmlにsub.htmlで値を取得するための項目(hidden)を用意して 押されたボタンに応じてdispw実行時に値を設定するようにすればいいのではないでしょうか。
お礼
できました!! こんなにシンプルで安定感のある方法があったんですね!感動です、ほんとにありがとうございました。感謝です!