プロが教えるわが家の防犯対策術!

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

A 回答 (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文にかかったものを処理すればよいでしょう。
    • good
    • 0
この回答へのお礼

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

お礼日時:2001/07/11 17:38

たとえばこんなのでどうでしょう



------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>

間違ってたらごめんなさい。
    • good
    • 0
この回答へのお礼

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

お礼日時:2001/07/11 17:42

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!