初歩的なJavaScriptで申し訳ないのですが、ご教授願いします。
下記のプルダウンのJavaScriptで、例えばヤフーと言う部分を選択し、飛ぶをクリックするとヤフーに飛びますが、その際ヤフーにとんだページを別ウインドウで表示させたいのですが、お分かりの方いらっしゃいましたらこの素人に教えてください・・
<HTML>
<HEAD>
<script language="javascript">
<!--
function navi(obj) {
url = obj.options[obj.selectedIndex].value;
if(url != "") {
location.href = url;
}
}
//-->
</script>
</HEAD>
<BODY>
<form method=post>
<select name="navi" size="10" "abc" onChange="document.b.submit()">
<option value="http://www.yahoo.co.jp/">ヤフー
</select>
<input type=button value="飛ぶ"
onClick="location.href = this.form.navi.options[this.form.navi.selectedIndex].value">
</form>
</BODY>
</HTML>
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」がセレクトボックスの名前と被っているので違う名前に変えてあげないと動かないと思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript switch文のswitch(n)の部分を複数の値にするか、if文に変えてほしいです。 1 2022/07/27 17:18
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- JavaScript セレクトボックスを2つ設けて選択して初めてメッセを表示 1 2022/07/27 12:15
- JavaScript sessionStorageを調べています。 1 2023/06/20 12:41
- JavaScript javascriptのちょっとした動作不良(原因は突き止めたのですが) 1 2023/06/15 19:58
- JavaScript javascript作成してます。ラジオボタンで判定するコードを書いてます。 1 2023/07/18 11:03
- HTML・CSS ボタンをクリックした時に、入力フォームのすぐ下部に、「入力欄が空白です」というテキストメッセージが表 1 2022/04/27 16:25
- JavaScript 1日1回引けるJavaScriptおみくじについて 1 2022/12/12 22:28
- JavaScript 以前の質問だと、どの条件でも配列が表示されてしまいます。 1 2022/07/09 11:40
- JavaScript セレクトボックスを2つ選択してメッセージなどを表示するには。~運賃検索プログラムを完成させたい~ 1 2022/07/22 11:10
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
submitした値を返したい
-
iframe内のformをサブミットす...
-
FormのonsubmitでJavaスクリプ...
-
指定したタグを書き換えるには?
-
javascriptでASPにデータを渡す
-
タブキーでなくエンターキーで...
-
1つのform内に2つのsubmitボタ...
-
focus()が上手くいかない
-
テキストボックスに任意のURLを...
-
複数Formから値を取得するやりかた
-
別窓ウィンドウから親ウィンド...
-
javascript による POST 送信時...
-
Cookieに保存されない
-
添付ファイルの未選択チェック方法
-
submitボタン押下後、disabled...
-
ファイル選択と同時にアップロ...
-
return trueとreturn falseの用...
-
Selectの中身をfor文で入れる
-
プルダウン選択を変更すると、...
-
【jQuery】input nameの文字列...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
submitした値を返したい
-
複数のフォームを一括で自動送...
-
iframe内のformをサブミットす...
-
別ウィンドウへのsubmitの挙動...
-
1つのページにformを2つ設置。2...
-
フォームが空欄の時にフォーム...
-
javascriptでASPにデータを渡す
-
Cookieに保存されない
-
POST時に要素を削除してからPOST
-
focus()が上手くいかない
-
submitボタン押下後、disabled...
-
1つのform内に2つのsubmitボタ...
-
FormのonsubmitでJavaスクリプ...
-
テキストエリアに入力したURLに...
-
C# 配列などの受け渡し
-
タブキーでなくエンターキーで...
-
ENTERキーを無効にしたいのです...
-
formのsubmitイベントの発生に...
-
別窓ウィンドウから親ウィンド...
-
1つのformで複数のactionをボタ...
おすすめ情報