• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:プルダウンから飛んだページを別ウインドウで開く方法)

プルダウンから飛んだページを別ウインドウで開く方法

このQ&Aのポイント
  • 初歩的なJavaScriptで申し訳ないのですが、プルダウンの選択項目をクリックして別ウィンドウでページを開く方法について教えてください。
  • 以下のJavaScriptコードは、プルダウンで選択したURLに対応するページを開くためのものです。このコードを使用すると、ヤフーなどの選択肢をクリックすると、別ウィンドウで対応するページが開きます。
  • プルダウンから選択したURLに対応するページを別のウィンドウで開くためには、JavaScriptのlocation.hrefを使用します。以下のコードを使用すると、ヤフーなどの選択肢をクリックすると、別ウィンドウで対応するページが開きます。

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

  • ベストアンサー
  • bis_love
  • ベストアンサー率80% (4/5)
回答No.3

No.2の方が書いてあるとおり、onChange="document.b.submit()"が余分なのと、 <input type=button value="飛ぶ" onClick="location.href = this.form.navi.options[this.form.navi.selectedIndex].value"> のところで、 "location.href = this.form.navi.options[this.form.navi.selectedIndex].value" となっていることが原因です。 正しくは <input type=button value="飛ぶ" onClick="window.open(this.form.navi.options[this.form.navi.selectedIndex].value)"> とすることで別ウィンドウで開くようになります。 そうすると、上部で宣言されてる関数はいらなくなってしまいますね(^^; どうしても関数で処理させたい場合は、 <input type=button value="飛ぶ" onClick="location.href = this.form.navi.options[this.form.navi.selectedIndex].value"> で onClick="location.href = this.form.navi.options[this.form.navi.selectedIndex].value" となっているところを onClick="navi(this.form.navi)"のようにして、 関数内の location.href = url; というところを window.open(url); のようにしてあげれば動くと思います。 ただそうする場合、関数名「navi」がセレクトボックスの名前と被っているので違う名前に変えてあげないと動かないと思います。

すると、全ての回答が全文表示されます。

その他の回答 (2)

  • yuu_x
  • ベストアンサー率52% (106/202)
回答No.2

onChange="document.b.submit()" が原因。

すると、全ての回答が全文表示されます。
  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

location.href = url; の行を、 window.open(url); ってことでしょうか?

kaju1211
質問者

補足

回答ありがとうございます。window.open(url);で普通は別ウインドウで飛ぶはずなのですが、それに書き換えても同ウインドウのまま開きます・・

すると、全ての回答が全文表示されます。

関連するQ&A