• ベストアンサー

サブウィンドウからの値の取得について

分からないことだらけですが、よろしくお願いします。 それは、サブウィンドウを開いて <input type="radio"...>のどれかを選択してボタンをクリックするとそれに対応した値が親ウィンドウのTextBoxに入力されるということをしたいのですが、うまくいきません。 textbox同士のSampleでしたらあるのですが、今考えているものに関してはなく、いろいろ試しているのですがよく分からなくなり混乱してしまいます。 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • leaz024
  • ベストアンサー率75% (398/526)
回答No.2

小窓を開くタイミングなど、細かい点は調整してください。 ■Oya.html <HTML> <BODY onLoad="open('./Ko.html', 'ko', 'width=200,height=150');">  <FORM name="f1">   <INPUT type="text" name="t1">  </FORM> </BODY> </HTML> ■Ko.html <HTML> <HEAD>  <SCRIPT language="JavaScript"><!--  function hannei() {    var val;    with (document.f1) {      for (var i = 0; i < r1.length; i++) {        if (r1[i].checked) {          val = r1[i].value + "が選択されています";          break;        }      }    }    opener.document.f1.t1.value = val;  }  //--></SCRIPT> </HEAD> <BODY>  <FORM name="f1">   <INPUT type="radio" name="r1" value="1">1<br>   <INPUT type="radio" name="r1" value="2">2<br>   <INPUT type="radio" name="r1" value="3">3<br>   <INPUT type="button" name="b1" value="親に反映" onClick="hannei();">  </FORM> </BODY> </HTML>  ラジオボタンは配列扱いなので、1つ1つのcheked属性(Boolean型)を調べ、if文にかかったものを処理すればよいでしょう。

obahiro
質問者

お礼

ありがとうございます。 なんか、悩んでいたことをすぐ解決してしまい、私ももっとがんばらなくてはと痛感いたしております。 どうも、ありがとうございました。

その他の回答 (1)

  • josyo_m
  • ベストアンサー率63% (28/44)
回答No.1

たとえばこんなのでどうでしょう ------main.htm------ <html> <head> <title>main</title> </head> <script language = "javascript"> <!-- var vw_win = window; function openWin(vf_url) { if ((vw_win == window) || vw_win.closed) { vw_win = open(vf_url, "newwindow", "scrollbars=no,resizable=no,width=200,height=10"); } else { vw_win.focus(); } } //--> </script> <body> <form name = "main_form"> <input type = "text" id = "txt1" value = ""> <input type = "button" OnClick = "openWin('sub.htm')" value = "click"> </form> </body> </html> ------sub.htm------ <html> <head> <title>sub</title> </head> <script language = "javascript"> <!-- function settext(strval) { window.opener.document.main_form.txt1.value = strval; } //--> </script> <body> <input type = "radio" OnClick = "settext('aaaaa')">aaaaa <input type = "radio" OnClick = "settext('bbbbb')">bbbbb </body> </html> 間違ってたらごめんなさい。

obahiro
質問者

お礼

ありがとうございます。 私自体、プログラミングが初心者な者でして、いろいろと教えていただき毎日が勉強となります。 これからも、よろしくお願いいたします。