セレクトボックスで選択した音源を鳴らしたいのですが、選択がうまく動きません。
他の方法でもよいので、解決方法をよろしくお願いします。
ソース一部抜粋
//HTML//////////////////////////////////////////////////////
<form name="formlist">
<select id="list" name="list">
<option value="piano">ピアノ</option>
<option value="guiter">ギター</option>
</select>
</form>
//JS////////////////////////////////////////////////////////
var piano = piano.wav;
var guiter = guiter.wav;
var sound = document.formlist.list.value;
alert(sound); //確認用
playSound(sound);
No.1ベストアンサー
- 回答日時:
こんにちは
どのような環境で実行するのでしょうか?
ご質問文内にHTMLとあるのでブラウザっぽいのだけれど、そのままだといきなりエラーになりませんか?
「未定義なのでwav属性は参照できない」とか言う感じの・・・
それとも、それ以前のスクリプトが省略されているのだろうか…?
「音源を鳴らしたい」とありますが、ご提示の方法で音が出るのでしょうか?
あるいは、関数定義部分を省略しているとか?
環境が不明ですが、通常のブラウザ環境ならHTML5のaudio要素を利用するのが便利かと思いますが?
https://developer.mozilla.org/ja/docs/Web/HTML/U …
でも、通常のスクリプトにはplaySoundなるメソッドは無いようですし・・・
https://developer.mozilla.org/ja/docs/Web/API/HT …
あるいは、なんかのライブラリでも使用なさっているのでしょうか?
https://github.com/admsev/jquery-play-sound
バックグラウンドがわからないので、疑問形ばかりになってしまいましたが、もしもブラウザ環境を想定しているのなら、上にも記したようにaudio要素を利用するのがよろしいように思います。
※ 意味が違っていたなら、スルーしてください。
実行環境はブラウザ上でした。
説明もソースも足りなくてすみませんでした。考えが煮詰まってしまって・・・。
ステップシーケンサーの一部分なのですが、一度リセットして一つ一つシンプル化していく事にしました。
ありがとうございました。
<script type="text/javascript">
function play() {
var audio = new Audio();
audio.src = document.formlist.list.value;
audio.play();
}
</script>
<input type="button" onclick="play()" value="Play">
<form name="formlist">
<select id="list" name="list">
<option value="piano.wav">ピアノ</option>
<option value="guiter.wav">ギター</option>
</select>
</form>
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript 以前の質問だと、どの条件でも配列が表示されてしまいます。 1 2022/07/09 11:40
- JavaScript セレクトボックスで配列を呼び出したい。 1 2022/07/08 20:14
- JavaScript セレクトを全て選択されていないと、文字によるエラーメッセージを表示させるコードを調べています 2 2023/06/22 15:48
- JavaScript セレクトボックスを2つ選択してメッセージなどを表示するには。~運賃検索プログラムを完成させたい~ 1 2022/07/22 11:10
- JavaScript console.logがどうしても2つ機能しないのでアドバイスをくださいお願いします 2 2022/07/07 22:13
- JavaScript sessionStorageを調べています。 1 2023/06/20 12:41
- JavaScript switch文のswitch(n)の部分を複数の値にするか、if文に変えてほしいです。 1 2022/07/27 17:18
- JavaScript セレクトボックスを2つ設けて選択して初めてメッセを表示 1 2022/07/27 12:15
- JavaScript javascript作成してます。ラジオボタンで判定するコードを書いてます。 1 2023/07/18 11:03
- JavaScript 電車の運賃を出すプログラムを作っています。 2 2022/06/22 09:36
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
select要素のvalueを配列で取得...
-
同じ名前のセレクトがある場合...
-
複数のプルダウンを1つにまとめ...
-
2段階プルダウンで1段階目の選...
-
<select> をmultiple にしてい...
-
javascriptでセレクトボックス...
-
<input>の選択肢をプルダウンメ...
-
javascriptでセレクトボックス...
-
全てのselect要素をデフォルト...
-
プルダウンの選択値により活性...
-
プルダウンの値をphpファイルへ...
-
プルダウンの値によって活性・...
-
プルダウンメニューに連動する...
-
VBScriptでHTMLのセレクトボッ...
-
selectのnameが配列の場合
-
まったく同じ<select>フォーム...
-
ラジオボタンの値が取得できな...
-
プルダウンのoptionの表示・非...
-
ラジオボタンとプルダウンを連...
-
Selectボックスの一覧表示方法
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
javascriptでセレクトボックス...
-
selectを変更不可にしたい
-
全てのselect要素をデフォルト...
-
<input>の選択肢をプルダウンメ...
-
Selectボックスの一覧表示方法
-
プルダウン選択を変更すると、...
-
セレクトボックスで配列を呼び...
-
JavaScriptで<select>の<option...
-
プルダウンのoptionの表示・非...
-
select要素のvalueを配列で取得...
-
【javascript】連想配列からセ...
-
ラジオボタンとプルダウンを連...
-
同じ名前のセレクトがある場合...
-
selectボックスの選択結果を変...
-
プルダウンの値によって活性・...
-
javascriptで合計金額を算出し...
-
プルダウンメニューに連動する...
-
リストボックス内の重複したも...
-
VBScriptでHTMLのセレクトボッ...
-
連想配列を使ってコンボボック...
おすすめ情報