• ベストアンサー

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

leaz024の回答

  • ベストアンサー
  • 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
質問者

お礼

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

関連するQ&A

  • フォームのPOSTデータをサブウィンドウに渡したいです。

    フォームのPOSTデータをサブウィンドウに渡したいです。 <form action="sample.html" method="post"> <input type="checkbox" name="test[]" value="0">0 <input type="checkbox" name="test[]" value="1">1 <input type="checkbox" name="test[]" value="2">2 <input type="checkbox" name="test[]" value="3">3 <input type="checkbox" name="test[]" value="4">4 </form> 上記のフォームの値を、サブミットボタンを押したときにサブウィンドウをひらき、そのサブウィンドウに渡したいのですが、いまいち上手くいきません。 window.openでサブウィンドウを開いてもデータが受け渡せずにいます。 このような場合、どうしたら値を渡せるのでしょうか。 理想はPOSTで渡したいのですが、引数で渡す方法でもかまいません。

  • サブウィンドウへ渡すHidden項目の値

    いつもお世話になっております。 このたび、業務上でらちがあかず、ほとほと困り果てております。 どうか、助けてください>< 以下に詳細を明記しております。 <処理の流れ> StrutsとJSPで構成された親画面で検索を行い、 その検索結果の一覧の行ごとにサブウィンドウ用のボタンが表示されます。 ※一覧の明細フィールドはIteratorで複数行出力されます このボタンを押下することで、 StrutsとJSPで構成されたサブウィンドウにパラメータを渡して サブウィンドウに表示させるという処理になります。 <問題点> サブウィンドウにパラメータを渡す際に、 親画面から選択行のパラメータをJavaScriptで取得します。 この際、複数行から取得するので選択行をインデックスで取得します。 例えばこのようになります。 1.インデックス=idx 2.'sample'は検索処理で値が詰められたHidden項目です。 var sample = document.getElementsByName('sample'); document.getElementById('sample').value = sample[idx].value; としています。 3行のレコードが一覧に表示されているとします。 2行目と3行目はそれぞれ押下した場合、正常にサブウィンドウに表示されます。 しかし、1行目は、最初に押下した場合、正常に表示されますが、 2行目や3行目のあとに押下すると、内容がなぜか直前の押下した 内容にHiddenの内容が置き換えられています。 2行目と3行目はそのようなことがありません。 ※検索直後は1行目の値も正常に設定されていました ByIdのvalueは配列指定できないようなので、 0番目は0番目、1番目は1番目という指定での 解決はできず、困っています。 何が原因となっているのかいまいちわかりません。 納期まで時間がありません。 どなたかピンと来られる方がおられましたら、 ぜひとも教えてください。 何卒宜しくお願い致します。

  • jqueryでラジオボタンの値を取得

    <input name="nr" value="0" type="radio" />いない <input name="nr" value="1" type="radio" />いる の選択に応じて400円の金額を追加するプログラムをjqueryで作成しようとしています。 ラジオボタンの選択の値を取得することが出来ません。どのようにしたら良いでしょうか? 教えてください。 よろしくお願いします。

    • ベストアンサー
    • AJAX
  • 【FireFox】サブウィンドウ表示とテキストボックス値

    メインのウィンドウにテキストボックスとボタンがあり、 ボタンをクリックするとjavascriptによりサブウィンドウ が開くHTMLがあります。 しかし、FireFoxに限り、ボタンを押してサブウィンドウ を開くとメインのHTMLのテキストボックスに入力していた 値が消えてしまいます。 ================ main.html ===================== <html> <head> <script Language="JavaScript"><!-- function openSubWin(){ window.open("sub.html","window","width=300,height=300"); } // --></script> </head> <body> <form action="#" name="myform"> <input type="text" name="no"> <button id="button1" onclick="openSubWin();" >サブウィンドウ</button> </form> </body> </html> ================== サブウィンドウ ================ <html> <body> サブウィンドウ </body> </html> IEでは問題ありませんでした。 何か解決方法はありますでしょうか? 宜しくお願いします。

    • ベストアンサー
    • HTML
  • サブウィンドウと、親ウィンドウについて

    これは、データベース絡みでの質問になると思いますがよろしくお願いします。 ここの前の質問でも同じようなものがあり、流用できたらと試してみましたがうまくいきません。それは、以下の手順によってデータを操作しようと考えているのですが・・・ (1)親ウィンドウにサブウィンドウを呼び出すボタンを設置する。 (2)呼び出されたサブウィンドウにデータを入力すると親ウィンドウのデータも一緒にデータベースに登録される。 と、いう手順でしたいと考えており、サブウィンドウ側に、 function copy(){ document.form1.text1.value = opener.parent.left.document.form2.text1.value; } とし、サブウィンドウに親ウィンドウからデータを持ってくるために <input type="hidden" name="text1" onChange="copy()"> という隠しフィールドを設け、親からデータを格納させています。 また、上にある、「left」は親をフレームわけしているのでフレーム名です。(持ってくるデータは、form1にあり、そこにボタンを設置しています)説明不足でしたら補足いたしますので、よろしくお願いします。考え方でも結構です。

  • javascriptでフォームに値を渡す

    javascriptでサブウィンドウを開き、親ページにあるフォームの値をサブウィンドウのテキストフィールドに渡す方法で複数項目がある場合、下記URLのようにラジオボタンならうまくいったのですが ラジオボタンなしで、ボタンを押すと直接その値をサブウィンドウに渡す方法はないでしょうか? 複数項目ある値をサブウィンドウに渡す(ラジオボタン) http://ausdruck.flier.jp/test/window11/oya_11.html 上記URLの方法ならうまくいったのですが下記URLのようにボタンを押してその値を 直接サブウィンドウに渡したいとおもっています。 http://ausdruck.flier.jp/test/window3/oya.html ▲こちらのイメージで渡したいのですが、複数項目があるとうまくいきません。

  • サブウィンドウを閉じたときに親ウィンドウのリンク先

    サブウィンドウを閉じたときに親ウィンドウのリンク先 サブウィンドウを閉じたときに親ウィンドウを別URLに 飛ばすにはどうしたらよいですか? ちなみにサブウィンドウはボタンを押したらウィンドウが 閉じるという動きです。 下記のタグで実行できるのですが、 macのIE5.0で動きません。 IE5.0で動くようにしたいのですが・・・・ 下記がタグになります。 ご教授お願いします。 ======サブウインドウタグ======= <script type="text/JavaScript"> function jump_and_close() {  opener.location.href = "別URL";  window.close(); } </script> ======親ウィンドウへのリンク======= <input type="button" value="ボタン" onClick="jump_and_close()">

  • サブウィンドウに値を渡して、CGIにPOSTしたい

    お世話になります。 javascript初心者です。 題名のようにPOSTした値をポップアップで確認して、CGIに渡そうとしています。 親ウィンドウのoya.htmは、 <html> <head><title>submitの確認をポップアップで確認</title> <script type="text/javascript"> <!-- function fnWinOpen() { window.open("pop_post.htm", "win", "width=150,height=20"); } //--> </script> </head> <body> <form name="Form_name"> <input type="text" name="Data" /> <input type="button" value="送信" onClick="fnWinOpen()"> </form> </body> </html> でして、 サブウィンドウのpop_post.htmは、 <html> <head><title>submitの確認をポップアップで確認</title> <script type="text/javascript"> <!-- function fnStart() { document.getElementById("SubData").value = window.opener.Form_name.Data.value; } function job( url ) { 後はこの関数を完成さればと考えている } //--> </script> </head> <body onload="fnStart()"> <form method="post" > <input type="text" id="SubData" /> <input type="button" name="sub" value="送信job" onClick="job('thanks.cgi')"> </form> </body> </html> とやっています。 サブウィンドウに値を表示させることはできました。 後は、サブウィンドウの方の job関数で、submitするにはどうすればようのでしょう? 最後に値が渡されるCGI、thanks.cgiでは、そのデータを登録させ、「ありがとうございました」を表示させるものです。 また、そもそもこの方向でうまくできますか? よろしくお願いします。

  • サブウィンドウを複数表示できないようにしたいのですが

    現在、親ウィンドウでボタンが押されたらwindow.openで サブウィンドウを表示していますが、サブウィンドウを最小化したり 親ウィンドウにフォーカスが移ったときに親ウィンドウのボタンが 押されたら再びサブウィンドウが開いてしまいます。 再び開かないようにするにはどうしたらいいのでしょうか 常にサブウィンドウを前画面にする(<body onBlur="focus()">)方法は わかったのですがこれではフォーカスが移れません。 フォーカスは移れるようにしたいのですが よろしくお願いします。

  • チェックボックス とラジオボタンの値取得について

    チェックボックス とラジオボタンの値取得について こんにちは チェックボックスの中にラジオボタンがある場合に チェックボックスの値に続けてラジオボタンの値を表示したいのですが、 うまくいかず悩んでいます。 【やりたいこと】 □そのた2をチェクして男性を選択した場合 「そのた2 男性」と表示したい。 例 そのた1 そのた2 男性 そのた4 そのた5 女性 サンプルのチェックボックスのlabelタグをはずすと $(vals[i]).next($("input[name='radio']:checked").val()); で値を取得できたのですが、 labelタグを付けたまま値を取得することは可能でしょうか? labelタグをつけたまま、 $(vals[i]).find($("input[name='radio']:checked").val()); でやってみたのですが、undefindがでてしまいました。 サンプルではチェックボックスの数は1個ですが、 □が30個以上 のチェックボックスが50個くらいあるので、 1回の記述で済ませたいのですが、 ラジオボタンが隣にあったら値を取得する のようにできるのでしょうか? 何かよい方法があれば教えて頂けないでしょうか。 よろしくお願い致します。 ■サンプルソース <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> <script type="text/javascript" language="JavaScript"></script> <script language="javascript"> <!-- function textb(){ var str=""; var vals = document.forms['f'].elements['q1']; for(i=0; i<vals.length; i++){ if(vals[i].checked){ str=str + vals[i].value + '\n'; } } document.f.log.value=str; } --> </script> <title></title> </head> <body> <form name="f"> <div>アンケート<br> <label for="1"><input type="checkbox" name="q1" class="chex" id="1" value="その1"> その1</label><br> <label for="2"><input type="checkbox" name="q1" class="chex" id="2" value="その2"> その2</label> <input type="radio" name="radio1" value="可">男性 <input type="radio" name="radio1" value="否">女性 <br> <label for="3"><input type="checkbox" name="q1" class="chex" id="3" value="その3"> その3</label><br> <label for="4"><input type="checkbox" name="q1" class="chex" id="4" value="その4"> その4</label><br> <label for="5"><input type="checkbox" name="q1" class="chex" id="5" value="その5"> その5</label> <input type="radio" name="radio2" value="可">男性 <input type="radio" name="radio2" value="否">女性 <br> </div> <input type="button" value="確認" onclick="textb()"> <input type="reset" value="クリア"> <br> <textarea name="log" rows="4" cols="50"></textarea></form> </body> </html>