前回プルダウンメニューによる左右フレーム切り替えの質問をさせていただきました。
→http://oshiete1.goo.ne.jp/kotaeru.php3?q=1200405
申し訳ないですが、ここからまた新たに質問させてください。
上部(固定)、左フレーム(プルダウン設置)、右フレーム(メインページ)というページを作っています。
現在の状況はローカルのフォルダの中に
○上フレーム:flame1.htm(完成)
○左フレーム:flame2.htm(←ここに設置したい)
○右メインページ:1.htm 2.htm 3.htm(←1つ目プルダウン)4.htm 5.htm 6.htm(←2つ目のプルダウン) 7.htm 8.htm 9.htm(←3つ目のプルダウン)
と入っている感じです。
<HEAD>~<HEAD>部分
<script language="JavaScript"><!--
function myGo(){
mySelect = document.myForm.myMenu.selectedIndex;
parent.main.location.href = document.myForm.myMenu.options[mySelect].value;
}
// --></script>
<BODY>~<BODY>部分
<form name="myForm">
<select name="myMenu" onChange="myGo()">
<option value="1.htm" >第1章
<option value="2.htm" >第2章
<option value="3.htm" >第3章
</select>
</form>
↑上記でひとつのプルダウンは設置できるのですが、
2つ目、3つ目のプルダウンの設置となると、
どこをどうしたらよいやらわかりません。
是非ご回答よろしくお願いいたします。
No.2ベストアンサー
- 回答日時:
myGoの中で見るプルダウンが、myMenuに限定されているからでしょう。
プルダウンは3つ作ったとしても、それを選択して呼ばれる処理は
まったく同じなので、プルダウン自身を関数に渡すのがいいでしょう。
----------
<html>
<head>
<script kanguage=Javascript">
<!--
function myGo(myPullDown) {
var mySelect = myPullDown.selectedIndex;
parent.main.location.href = myPullDown.options[mySelect].value;
}
//-->
</script>
<body>
<form name="myForm">
<select name="myMenu1" onChange="myGo(this)">
<option value="1.htm">第1章
<option value="2.htm">第2章
<option value="3.htm">第3章
</select>
<br>
<select name="myMenu2" onChange="myGo(this)">
<option value="4.htm">第4章
<option value="5.htm">第5章
<option value="6.htm">第6章
</select>
<br>
<select name="myMenu3" onChange="myGo(this)">
<option value="7.htm">第7章
<option value="8.htm">第8章
<option value="9.htm">第9章
</select>
</form>
</body>
</html>
----------
ちがうところは、プルダウン側のonChangeで関数を呼ぶときに
this(プルダウン自身を指す)を引数として渡していることと、
関数myGo側で、document.myForm.myMenuに対してやっていた処理を
引数で渡したプルダウンに対してやっていることです。
(プルダウンのname属性も変えましたが…)
こうしておけば、プルダウンをいくつ増やしても対応できます。
早速の回答ありがとうございます。
完璧です…感謝感激です。
しかしプルダウンの幅というのは、
文字数によって、変わってしまうのですね。
これをあわせることができますか?
新規で質問した方が良さそうですね^^;
今回は大変お世話になり感謝しています。
No.1
- 回答日時:
こんにちは。
フレーム分割自体余りお勧めできませんが・・・。
こちらのフレーム編、
参考にしてみてください。
関数受け渡しは
parent・フレーム名・関数名
の様にフレーム名が必要になります。
参考URL:http://www.openspc2.org/reibun/javascript/#10
早速の回答ありがとうございました。
参考のリンク大変参考になりました。
私自身まだまだフレームについて大変未熟な部分が
わかりました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
追加ボタンを押した際に ok ボ...
-
jsonテキストデータの並び替え...
-
初心者です。gulpでコンパイル...
-
jQueryで同じクラス名のものを...
-
食材の期限を管理するためにGAS...
-
前回の質問の続き function mov...
-
このプログラムに、王手をかけ...
-
前回の質問の続き function mou...
-
このプログラムに王様の逃げ道...
-
ビデオのJSについて
-
鍵盤アプリで、スマホの画面に...
-
<div>のタッチ状態を維持したま...
-
jQueryでシンセサイザーを作っ...
-
プログラミング 学習
-
HTMLでサブフレームから親のス...
-
ジャバスクリプトについて。
-
プログラムについて。
-
Q&A掲示板の入力フォームに文字...
-
メールフォームの日付入力フォ...
-
二次元配列を使って順位をだす...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
HTMLのoptionタグ部分に画像を...
-
VB6.0でコントロール配列の配列...
-
<SELECT>タグでの selected 状...
-
プルダウンを2つ以上並べる時に...
-
セレクトボックスを切り替える...
-
プルダウンメニューで、選択項...
-
セレクトボックスの幅をプルダ...
-
以前の質問だと、どの条件でも...
-
2つの<select>フォームの完全...
-
セレクトボックスを2つ設けて選...
-
リストボックスについて
-
プルダウンメニューアイテムの...
-
HPビルダー9で、プルダウン形...
-
プルダウンメニュー項目のフォ...
-
前ページのリンクからフォーム...
-
複数のプルダウンの値をパラメ...
-
セレクトボックスの値による入...
-
プルダウンのリンクについて
-
HB9のリストボックスにリンク
-
iMacのシェル内カーソル移動
おすすめ情報