• ベストアンサー

複数のjavascript

うまく説明できないのですが、 プルダウンメニューが1つならエラーは出ないのですが、 下記のようにプルダウンメニュー2つにするとエラーが出てしまいます。。 どのように分ければエラーが出ないでしょうか・・・? 出来ればスッキリした形がベストなんですが・・・。 どうか宜しくお願い致します。 ------------------------------------------------------------ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <title>step25</title> <META http-equiv="Content-type" content="text/html; charset=Shift_JIS"> <script launguage="JavaScript"> <!-- function openlink(){ var n = document.f1.links.selectedIndex; if(n!=0){ location.href = document.f1.links.options[n].value; } } --> </script> </head> <body> <FORM name="f1"> <H2>美術館&博物館のリンク集</H2> <select name="links" onChange="openlink()"> <option>リンク先を選択</option> <option value="http://www.momat.go.jp">1111</option> <option value="http://www.momak.go.jp">2222</option> <option value="http://www.nmwa.go.jp">3333</option> <option value="http://www.tnm.go.jp">4444</option> <option value="http://www.kyohaku.go.jp">5555</option> <option value="http://www.narahaku.go.jp">6666</option> </select> <select name="links" onChange="openlink()"> <option>リンク先を選択</option> <option value="http://www.momat.go.jp">1111</option> <option value="http://www.momak.go.jp">2222</option> <option value="http://www.nmwa.go.jp">3333</option> <option value="http://www.tnm.go.jp">4444</option> <option value="http://www.kyohaku.go.jp">5555</option> <option value="http://www.narahaku.go.jp">6666</option> </select> </FORM> </body> </html> ------------------------------------------------------------

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

  • ベストアンサー
  • fujillin
  • ベストアンサー率61% (1594/2576)
回答No.1

name="links"の要素が2個あるので、document.f1.linksでは特定できないためエラーになっています。 document.f1.links って指定の方法も、あまり良いとは思えない。 ご提示の内容に限定できるのなら、呼び出す側を onChange="openlink(this)" のようにしておいて、スクリプトを function openlink(e){ var n = e.selectedIndex; if(n) location.href = e.options[n].value; } にしておけば、selectの数を増やしてもいけるのでは?

ke---ta
質問者

お礼

出来ました!! ご親切にどうもありがとうございました。

その他の回答 (1)

回答No.2

すっきりしたいなら、なおさら <select name="links" onChange="location.href=this.value"> でっ、お~しまいっ!  かんすうなんていらないしね。 ばぶっ!

関連するQ&A

  • javascriptについての質問です。複数のselect等で選択した

    javascriptについての質問です。複数のselect等で選択した文字の値をinputに表示したいのですが2 こちらで <script> function changeFunc(f){ f.elements["text1"].value=f.elements["select1"].value+f.elements["select2"].value; } </script> <FORM> <SELECT NAME="select1" onchange="changeFunc(this.form)"> <OPTION VALUE=""></OPTION> <OPTION VALUE=" a">a</OPTION> <OPTION VALUE=" b">b</OPTION> <OPTION VALUE=" c">c</OPTION> </SELECT> <SELECT NAME="select2" onchange="changeFunc(this.form)"> <OPTION VALUE=""></OPTION> <OPTION VALUE=" 壱">壱</OPTION> <OPTION VALUE=" 弐">弐</OPTION> <OPTION VALUE=" 参">参</OPTION> </SELECT> <input TYPE="text" NAME="text1" VALUE=""> </FORM> というプログラムを教えていただいたのですが 最新のブラウザーではどれもが動作するのですが IE5.IE6.IE7で動かなくて困っております。 IE5は仕方ないカナとも思ってしまったりするのですが IE6 IE7では動いて欲しくて困っています。 どなたか助けていただけないでしょうか

  • PHP上でのJavaScript記述について

    PHP上でのJavaScript記述についての質問です。 http://iswebmag.hp.infoseek.co.jp/sample181.html ↑のようなものをPHP上で作成したいと思っています。 そこで、似たようなものを作成してみたのですが、 どうにもうまく動きませんでした。 そこで、試しに上記サイトのサンプルを全てechoで出力するコードを書いてみたの ですが、 それでも動きませんでした。 このスクリプトはPHP上では動作しないのでしょうか? PHPに詳しい方、どうかご教授お願いします。 ソースは以下になります。 --------------------------------------------------------- <HTML> <META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <HEAD> <TITLE>魅せるホームページ作成講座</TITLE> </HEAD> <BODY> <?php echo '<FORM name="f1">'; echo '<INPUT type="radio" name="cate" onClick="Infoseek()">各種情報 <BR>'; echo '<INPUT type="radio" name="cate" onClick="Rakuten()">買い物<BR>'; echo '<SELECT name="links">'; echo '<OPTION>ラジオボタンを選択</OPTION>'; echo '</SELECT>'; echo '<INPUT type="button" value="リンク先を表示" onClick="goLink()">'; echo '</FORM>'; echo '<SCRIPT language="JavaScript">'; echo '<!--'; echo 'function Infoseek(){'; echo 'document.f1.links.length=4;'; echo 'document.f1.links.options[0].text="Infoseek検索";'; echo 'document.f1.links.options[1].text="Infoseekニュース";'; echo 'document.f1.links.options[2].text="Infoseek天気";'; echo 'document.f1.links.options[3].text="InfoseekTV番組表";'; echo 'document.f1.links.options[0].value="http://www.infoseek.co.jp/";'; echo 'document.f1.links.options[1].value="http://news.www.infoseek.co.jp/";'; echo 'document.f1.links.options[2].value="http://tenki.www.infoseek.co.jp/";'; echo 'document.f1.links.options[3].value="http://tv.www.infoseek.co.jp/";'; echo '}'; echo 'function Rakuten(){'; echo 'document.f1.links.length=3;'; echo 'document.f1.links.options[0].text="楽天";'; echo 'document.f1.links.options[1].text="楽天フリマ";'; echo 'document.f1.links.options[2].text="楽天ブックス";'; echo 'document.f1.links.options[0].value="http://www.rakuten.co.jp/";'; echo 'document.f1.links.options[1].value="http://furima.rakuten.co.jp/";'; echo 'document.f1.links.options[2].value="http://books.rakuten.co.jp/";'; echo '}'; echo 'function goLink(){'; echo 'imax=document.f1.links.length-1;'; echo 'for (i=0 ; i<=imax ; i++){'; echo 'if (document.f1.links.selectedIndex==i){'; echo 'window.open(document.f1.links.options[i].value);'; echo '}'; echo '}'; echo '}'; echo '// -->'; echo '</SCRIPT>'; ?> </BODY> </HTML> ---------------------------------------------------------

    • ベストアンサー
    • PHP
  • javascriptについて

    Javascriptを使用して簡単なツールを作りたいのですが、初心者なので分からず困っています。詳しく教えて頂けると助かります! 現状このような感じで、機能していない状態です。ここにjavascriptで、プルダウンで選択したものによって表示する内容を変えるためにはどのような文にしたら良いのでしょうか? 例えば、プルダウンで【卵】【焼く】を選択した時には、【目玉焼き】 【ゆでる】に変えると、【ゆで卵】といったように、組み合わせこどに表示される内容を変えたいです。 また、検索ボタンやリセットボタンを連動させたいです。検索ボタンを押すと結果が余っているスペースに表示されるようにしたいです。色々と申し訳ありませんが、教えて頂けると助かります! <!DOCTYPE html> <html lang="ja"> <head> <title>サンプル</title> </head> <body> <h1>見出し</h1> <form><input type="hidden" id="auth_token" name="auth_token" value="06482d99b3270c4fe048edc8a8d1ea38f2411567"> <select name="材料"> <option value="1">卵</option> <option value="2" selected>じゃがいも</option> <option value="3">にんじん</option> </select> </form><br> <form><input type="hidden" id="auth_token" name="auth_token" value="06482d99b3270c4fe048edc8a8d1ea38f2411567"> <select name="調理"> <option value="1">焼く</option> <option value="2" selected>ゆでる</option> <option value="3">蒸す</option> </select> </form> <form><input type="hidden" id="auth_token" name="auth_token" value="06482d99b3270c4fe048edc8a8d1ea38f2411567"> <input type=" submit" name="search" value=" 検索" /> <input type="reset" value="リセット"> </form> </body> </html>

  • フレームを使用した複数プルダウンメニュー

    こんにちは。 よくある質問もみたのですが「複数のプルダウンメニュー」「フレームを使ったプルダウン」というのはあるのですが、 フレームを使用して左フレームに複数プルダウン、そこで選んだものを右フレームに表示させるというのが見つかりませんでした。 「複数のプルダウンメニュー」もつくれますし、「別フレームに表示させる」こともできるのですが、 プルダウンを増やしたとたんに動きません。 ネームを変えてもみたのですがうまくいきません。 フレームを二つつくって <FRAMESET cols="35%,65%"> <FRAME src="n_menu.htm" name="manu">←こっちにプルダウンメニュー <FRAME src="n_main.htm"name="main">←こっちに表示 目次のhtmファイルで <SCRIPT LANGUAGE="JavaScript"> function openPage() { var list = document.forms[0].urlList; parent.frames[1].location = list.options[list.selectedIndex].value; } </SCRIPT> </HEAD> <FORM> <SELECT NAME="urlList" onChange="openPage()"> <OPTION SELECTED VALUE="cover1.htm">朝の歌 <OPTION VALUE="1.htm">1番目のページ <OPTION VALUE="2.htm">2番目のページ <OPTION VALUE="3.htm">3番目のページ </SELECT> </FORM> #上記をコピペして増やしてみた↓ <FORM> <SELECT NAME="urlList2" onChange="openPage()"> <OPTION SELECTED VALUE="cover2.htm">夜の歌 <OPTION VALUE="4.htm">4番目のページ <OPTION VALUE="5.htm">5番目のページ <OPTION VALUE="6.htm">6番目のページ </SELECT> </FORM> これだと2本目が表示されません。 どうすればいいか教えていただけないでしょうか?

  • optionのselectedは更新時は効かない?

    最初に表示させたいoptionにselected="selected"を付けているのですが、 ブラウザの更新をしたときにselectedが効きません。 読み込んだときは指定通りになりますが、更新時は指定通りになりません。 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja"> <head> <meta http-equiv="Content-Type" content="text/html; charset=Shift-JIS" /> <title>サンプル</title> </head> <body> <form action="#"> <fieldset> <legend>順位1</legend> <select name="sss111" onchange="letsGO111()"> <option value="指定無し" selected="selected">指定無し</option> <option value="1位">1位</option> <option value="2位">2位</option> </select> </fieldset> <fieldset> <legend>順位2</legend> <select name="sss222" onchange="letsGO222()"> <option value="指定無し" selected="selected">指定無し</option> <option value="1位">1位</option> <option value="2位">2位</option> </select> </fieldset> </form> </body> </html>

    • ベストアンサー
    • HTML
  • 複数のプルダウンメニューの作り方。

    ・Aリスト、Bリスト…とプルダウンメニューを複数含んだフォームを一つのhtmlに作りたいのですが、上手くいきません。 一つのフォームに一つのプルダウンメニューは上手くいくのですが、Javascriptを二つ並べると動かなくなります。 とりあえず関数名を重複しない様にしたらいいという事だけはネットで調べてわかりました。 今は、下記の状態になっています。 <script language="JavaScript"> <!-- function MENU(){ mySelect = document.myForm.myMenu.selectedIndex; location.href = document.myForm.myMenu.options[mySelect].value; } // --> </script> <form name="myForm"> <select name="myMenu" onChange="MENU()"> <option value="">A</option> <option value="a001.html">A001</option> <option value="a002.html">A002</option> <option value="a003.html">A003</option> </select> <select name="myMenu2" onChange="MENU()"> <option value="">B</option> <option value="b001.html">B001</option> <option value="b002.html">B002</option> <option value="b003.html">B003</option> </select> </form> ご指南の程宜しくお願いします。

  • プルダウンについての質問です

    プルダウンメニューでリンク先にページを飛ばした後、ツールバーの <戻るボタン>でページを戻すと、同じプルダウンメニューのリンク先 には飛ばなくなってしまいます。 どうすればページを戻した後でも、同じプルダウンメニューのリンク 先に飛ばす事が出来るのでしょうか? 使ったHTMLは <FORM NAME="linkmenu"> <SELECT style="width: 220px" NAME="linklist" onchange="location=this.value"> <OPTION SELECTED>以下の項目から選択してください。</OPTION> <OPTION VALUE="index.html">1.テストページ1</OPTION> <OPTION VALUE="2.html">2.テストページ2</OPTION> <OPTION VALUE="3.html">3.テストページ3</OPTION> </SELECT> </FORM> というものです。

    • ベストアンサー
    • HTML
  • javascript をhtmlページで使用する方法を教えてください。

    <form name=\"addr\"> リンク先-> <select name=\"list\" onChange=\"chg_url()\"> <option value=\"http://www.yahoo.co.jp\">yahoo1</option> <option value=\"http://www.yahoo.co.jp\">yahoo2</option> <option value=\"http://www.yahoo.co.jp\">yahoo3</option> </select> <a href=\"Dest\" target=_blank> リンク </a> </form> <script language=\"javascript\"> <!-- pos = 5555; for(num=0;num<document.links.length;num++) { if (document.links[num].href.indexOf(\"Dest\") != -1) { pos = num; num = 5000; } } function chg_url() { if (pos!=5555) { sel = document.addr.list.selectedIndex; document.links[pos].href = document.addr.list[sel].value; } } chg_url(); //--> </script> のスクリプトを同じページに何個も利用したいのですが、どうしたらうまくいきますか? 同じページにこのスクリプトを設置すると、全部同じページにリンクしてしまいます。java初心者なので、ぜひ教えてください。お願いします。 あと、「java」の質問回答の方に間違えて載せてしまいました。すみませんでした(>_<)

  • プルダウンメニューのselected部分のリンクをとる方法

    以前こちらで教えていただいたプルダウンメニューなのですが、 selected部分にもリンクがされてしまっているので、 これをリンクさせないようにしたいのですが、やり方がわかりません。 どなたか教えていただけますでしょうか? 宜しくお願いいたします。 ソース <form name="b" method="post" target="_blank" action="https://○○○○/reservationtop.asp"> <select name="***************" onChange="document.b.submit()"> <option selected>予約する</option> <option value="1">リンク3</option> <option value="2">リンク2</option> <option value="3">リンク3</option> </select>

  • プルダウンを2個選び、その結果に基づき、値を返す。

    プルダウンを2個選び、その結果に基づき、値を返したいです。 以下はそのhtml文です。 <!DOCTYPE html> <html> <head> <title>プルダウンのメニューを表示を2つ設定</title> <script> function selectboxChange() { var value1 = document.forms.form1.Select1.value; var value2 = document.forms.form11.Select11.value; var target = document.getElementById("output11"); if ((value == "要素1")&&(value == "要素11")) { target.innerHTML = "合っています。"; } else { target.innerHTML = "間違っています。"; } } //--------------------- // </script> </head> <body> <div>プルダウンのメニュー1</div> <form name="form1" action=""> <select id="Select1" onchange="selectboxChange();"> <option>---</option> <option value="要素1">要素1</option> <option>要素2</option> <option>要素3</option> <option>要素4</option> <option>要素5</option> </select> </form> <div>プルダウンのメニュー2</div> <form name="form11" action=""> <select id="Select11" onchange="selectboxChange();"> <option>---</option> <option value="要素11">要素1</option> <option>要素2</option> <option>要素3</option> <option>要素4</option> <option>要素5</option> </select> </form> <div id="output11"></div> </body> </html> プルダウンを2個紐づけたいのですが、var value=document.formsの文言を紐づけようとしましたが、 紐づけができません。 ですので、打開案をご教授願えたら幸いです。