プルダウンの切り替えに関して

このQ&Aのポイント
  • 上段のプルダウンにより下段の内容を切り替える方法について教えてください。
  • ボタンを押さずに選択された番号をBに渡す方法があるのか教えてください。
  • AからBへの値の渡し方を教えてください。
回答を見る
  • ベストアンサー

プルダウンの切り替えに関して

プルダウンの切り替えに関して 以下のように上段、下段に分割されているHTMLで、上段のプルダウンにより 下段の内容を切り替えようと考えています。 <frameset> <frame name="A" id="A" src="99999"> <frame name="B" id="B" src="99999"> </frmae> PHP等はボタンを設けて、ボタンが押されたと同時にBへ表示させる事が可能 ですが、ボタンを押すというわずらわしさを省く為に、選ばれたと同時にBの内容を 切り替えたいと考えています。 少なくともAにあるプルダウンで選択された番号だけでもBに渡る事ができれば と考えていますが、javascriptではそのような事が可能なのでしょうか??? Bでは、Aから渡された値をもとにして、データベースへ検索しています。 伝わりにくい内容で申し訳ありませんが、教えて頂きたいと思います。 よろしくお願いします。

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

  • ベストアンサー
  • yyr446
  • ベストアンサー率65% (870/1330)
回答No.3

書き間違え、似たような質問があったもんで... 例えば <frameset rows="20%,*" frameborder="no" border="0" framespcing="0"> <frame src="A.html" id="A" name="A" scrolling="yes"> <frame src="B.html" id="B" name="B" scrolling="yes"> </frameset> となっていたとしてです。

SANA_999
質問者

補足

ありがとうございました! イメージ通りの事が実現できました。 ありがとうございました。

その他の回答 (2)

  • yyr446
  • ベストアンサー率65% (870/1330)
回答No.2

例えば <frameset rows="20%,*" frameborder="no" border="0" framespcing="0"> <frame src="./A.html" id="A" name="top" scrolling="yes"> <frame src="./B.html" id="B" name="bottom" scrolling="yes"> </frameset> となっていたとして、 b.htmlのjavascriptに  var hoge="fuga"; という変数hogeと、 function disp(){ alert(hoge); } という関数が定義されていたとして、 a.htmlのjavascriptで <select onChange="hoge(this.value)"> に対して、 function hoge(val){ parent.B.hoge=val; parent.B.disp(); } と引き渡せます。

  • nine999
  • ベストアンサー率44% (512/1140)
回答No.1

プルダウンというのは<select>のことでしょうか? <select onChange=""> として、JavaScriptを呼び出せば、メニューを切り換えた瞬間に動作します。 また、A内のスクリプト内でparent.B.location.hrefと指定することで、Bのページを切り換えることもできます。

参考URL:
http://www.shurey.com/Soft/JS/form/index.html
SANA_999
質問者

補足

ご回答ありがとうございます。 おっしゃる通り、プルダウンというのは、<select>の事です。 onChengeを使用すれば、連動する事までは理解していますが、そのselectで選択 された値をもとにして、Bで検索するという流れがいまいち理解できません。 簡単なサンプル的なものがあれば幸いです。 よろしくお願いします。

関連するQ&A

  • フレームのホームページのサイズ指定の方法

    ●フレームのあるホームページを作ろうとしています。上段と下段左、下段右という3つの構成です。htmlでnoresize指定してもPC上でブラウザの窓を引っぱって大きさを変えると、それに連れて下段の幅が変わって(下段右のページが右にずれて)見えてしまいます。(IE6.0で見るとサイズ指定・固定されて見えるのですが、ネットスケープでは幅が違って見えます)これをどのPCで見ても、ブラウザの大きさがどうでも同じように(幅が変わらず)見せる方法を教えて下さい。 ●フレームのページのhtmlは以下のように記述しています。 <frameset border="0" bordercolor="#dddddd" frameborder="no" framespacing="0" rows="130,*"> <frame name="ue" noresize scrolling="no" src="xxxxx.html"> <frameset cols="202,580*" border="0"> <frame src="yyyyy.html" name="hidari" noresize scrolling="yes" > <frame src="zzzzz.html" name="migi" scrolling="yes" noresize > </frameset> ●いろいろ調べたのですが、解決できず、どなたか助けていただけましたら幸いです。何卒よろしくお願いいたします。

  • フレームの表示順について。

    <FRAMESET ...>   <FRAME name="a" src="a.aspx" ...>   <FRAME name="b" src="b.aspx" ...> </FRAMESET> a はボタンなどの貼り付いたコントロール部分を表示するページ。 b は帳票を表示するページ。 b が完全にロードされたことが完了した後に、a がロードされるようにして、a 上のボタンを初めて押せるようになるようにしたいのですが、 HTMLレベルでフレームの表示順を設定することは不可能なのでしょうか???

    • ベストアンサー
    • HTML
  • submitボタンで他のフレームを更新する方法

    submitボタンで他のフレームを更新する方法 submitボタンで他のフレームを更新する方法が分かりません。 現在、以下のようなフレーム分けされたページがあります。 <frameset cols="50%,*"> <frame name="AAA" src="A.php"> <frame name="BBB" src="B.php"> </frameset> ここで、A.php のフォーム内のsubmitボタンクリックのタイミングでA.phpは、 C.phpに遷移するのですが、同時にB.phpもD.phpに遷移させたいです。 方法をご存知のかたがいましたら教えてください。宜しくお願い致します。

  • フレーム3つに同時更新する方法について

    以下のように、A.ASP内のAタグを選択すると B.ASP と C.ASP に表示されている内容を変更したい。 A.ASP内のAタグ B.ASP?k=9 C.ASP?k=9 のように値を渡してデータを表示したいです。 以下サンプルです。 Main.ASP の内容------- <FRAMESET ROWS="80,*" BORDER="0"> <FRAME SRC="Top.asp?ID=1" NAME="Frame1"> <FRAMESET COLS="120,*,200" BORDER="0"> <FRAME SRC="A.ASP?K1=<%= sK1 %> NAME="Frame2"> <FRAME SRC="B.ASP?K1=<%= sK1 %> NAME="Frame3"> <FRAME SRC="C.ASP?K1=<%= sK1 %> NAME="Frame4"> </FRAMESET> A.asp の内容---- sK = Request.QueryString("K1") <script type="text/javascript"> <!-- function func(strPara) { top.Frame3.location = "B.ASP?K1=" && strPara; top.Frame4.location = "C.ASP?K1=" && strPara; } // --> </script> データデース読み込み <tr><TD> <A HREF="#" onclick="return func('<%=Trim(Server.HTMLEncode(rs.Fields("ID").Value))%>')"></A> </TD></tr> B.ASP の内容 C.ASP の内容も A.ASPと同様ですが 表示する内容のみを変更したいのです よろしくお願い致します

  • プルダウンメニュー

     以下のプログラムですが! 仕様が二分割の縦分割フレームが特徴です。  左側フレームにリンクタグがあり、そのリンクタグをクリックすると、右フレームに HPが観れるようになっています。  しかし、プルダウンメニューのYahooをクリックしたらakkotyan.html、は左フレームになぜか 出てきてしまって困っています。   それともう1つ、プルダウンメニューのhouyhnhnmsをクリックしても何もフレームに出てこなくて無反応です?  そのほか   「クリックで動くプログラ」と「知恵袋 竹島問題」はちゃんと右フレームに出てきて  問題ありません。   プルダウンメニュータグのHPを右フレームに出すにはどうしたらできますか!?  宜しくお願いします。 -------------------------------------------------------- 左フレーム <html> <head> </head> <frameset cols="26%,*"> <frame src="left.html"name="menu"> <frame src="pronagare.html"name="contents"> </frameset> <html> ------------------------------------------------------- 右フレーム <html> <HTMl> <HEAD> <TITLE>プルダウンメニューのHPを右フレームへ表示したい</title> <script>addEventListener('load',function(ev){ document.forms['jump'].elements['to'].addEventListener('change',function(ew){ var map = { yahoo: './akkotyan.html', houyhnhnms: 'http://google.com/search?tbm=isch&q=houyhnhnms' }; var url = map[ew.target.value]; if (url) window.location = url; },false); },false)</script> <body> <form name=jump><select name=to> <option value='' selected>-</option> <option value=yahoo>Yahoo</option> <option value=houyhnhnms>Houyhnhnms</option> </form> </select> <P> <a href="pronagare.html"target="contents">クリックで動くプログラム</a><br> <a href="takesima.html"target="contents">知恵袋 竹島問題</a><br> </body> </html>

  • 入れ子のフレームでjavascriptが上手く動作しない

    frame.html ----- フレームセットを設定している frm1.html ------ フレーム1に表示する frm2_a.html ---- フレーム2に最初に表示する frm3_a.html ---- フレーム3に最初に表示する frm2_b.html ---- フレーム2に二番目に表示する frm3_b.html ---- フレーム3に二番目に表示する jscript.js ----- 外部javascript frame.html(抜粋) <head> <script type="text/javascript" src="jscript.js"></script> </head> <frameset cols="*, 200px"> <frameset rows="*, 100px"> <frame src="frm1.html" name="フレーム1" onload="addHtml()" noresize> <frame src="frm2_a.html" name="フレーム2" noresize> </frameset> <frame src="frm3_a.html" name="フレーム3" noresize> <noframes> </noframes> </frameset> jscript.js(抜粋) function addHtml(){ alert("in"); parent.フレーム2.location.href = "frm2_b.html"; parent.フレーム3.location.href = "frm3_b.html"; parent.フレーム3.document.getElementById("addArea").innerHTML = "追加内容"; alert("out"); return; } frm3_b.html(抜粋) <body> <div id="addArea"><div> </body> frm.htmlをブラウザ(IE系)で表示 → onloadイベントでaddHtml()  → フレーム切り替え、"追加内容"をaddAreaに追加  → 追加されず、alert("out")の行が実行されない。 更新ボタンを押し、alert("in")をOKボタンで消し、 次のalert("out")のダイアログを表示している間だけ追加された内容が表示され、 OKボタンで消すとaddArea内の内容が消えます。 フレーム1にページが読み込まれたときにイベントでスクリプトを 動かしたいのですが、うまくいかずこまっています。 問題点や改善点、別のやり方等教えていただけないでしょうか。 不明な点がございましたら、訂正・補足いたします。 よろしくおねがいします。

  • プルダウンの切り替えについて

    ページのある部分のみjavascriptで別ファイルを読み込ませ(includeのような形)、 プルダウンでその部分が切り替わるように設定したいと考えております。 プルダウンをリンクとして使用したり、画像の切り替えなどは検索で探すとよく見掛けるのですが、 上記のような形は検索で探しても見つからず、困っております。 下記のURLは画像の切り替えですが、この画像の切り替え部分をそのままHTMLファイルを読み込ませて表示させるようになれば、と思っております。 http://www.geocities.co.jp/HeartLand-Kaede/3853/jyouhoufile/im6.html やりたい事 ・プルダウンの切り替えでページの一部分に別ファイルを読み込ませ表示させる ・プルダウンの項目を変えると同時に表示も変わる ・プルダウンの項目はそのまま差し替わった時の項目を指している javascript初心者の為、自分で組もうにも全くと言っていいほど分からなかったので、こちらで質問させて頂きました。 分かりにくい文章で申し訳ありませんが、どうぞお力をお貸しくださいますようお願い致します。

  • フレームを介したrefferの取得方法

    C.htmlにてリファラを取得したいのですが、 document.refferでは、B.htmlのURLが取得されてしまいます。 A.htmlを取得したい場合、B.htmlでリファラを取得し、C.htmlへ引継ぐことで 可能でしょうか。 また、どのような方法となるのでしょうか。 ご教授下さいませ。 リンク元:A.html フレーム:B.html フレーム内:C.html D.html <html> <frameset cols="100,*"> <frame src="C.html" name="C"> <frame src="D.html" name="D"> </frameset> <noframes> このページはフレームを使用しています。 </noframes> </frameset> </html>

  • frameを使用したときのファイルの切り替え

     今、フレームを使用してHPを制作していますが、タグ例として、 <frameset rows="60,*" frameborder="no" border="0"> <frame src="header.html" scrolling="no" noresize> <frameset cols="200,*" frameborder="no" border="0"> <frame src="menu.html" name="menu" noresize> <frame src="top.html" name="top" noresize> </frameset> </frameset> と組み、上記の「menu.html」中に各コンテンツを羅列し、任意のコンテンツをクリックすると「top.html」は変わるという作りをしています。  これを、「menu.html」中の任意のコンテンツをクリックすると「menu.html」「top.html」の両方が変わるようにしたいのですが、いい方法がありましたらどなたか教えていただけないでしょうか? よろしくお願いします。

    • ベストアンサー
    • HTML
  • フレームページでの自動ジャンプ

    フレームページでA.htmlとB.htmlがあるんですが 自動的に他ページへ飛ばすタグ <META HTTP-EQUIV="refresh" CONTENT="3;URL=http://..."> がありますよね? 自動的へ飛ばすのをフレーム内B.htmlが切り替わるっていう風には できないでしょうか? ---現在--- <html> <head> <title>フレーム</title> <META HTTP-EQUIV="refresh" CONTENT="10;URL=http://..."> </head> <frameset rows="20%,*" frameborder="no"> <Frame name="A" src="A.html"> <Frame name="B" src="B.html"> </frameset> </html> ------ こうなってるんですができませんか? よろしくお願いします。

専門家に質問してみよう