我是编程新手,并试图让这项工作成功。我想为用户提供选择他们想听的广播电台的选项...这是我想出的,但是不工作,任何帮助都表示赞赏:
<script language="javascript" type="text/javascript">
// You can place JavaScript like this
document.getElementById("radiostations").selectedIndex = 0;
document.getElementById("radiostations").onchange = resetStation;
function resetStation(){
objPlayer = document.getElementById("mediaPlayer");
// obj.Settings.volume = 75
newStation = document.getElementById("radiostations");
objPlayer.URL=newStation.options[newStation.selectedIndex].value; // playback this file
objPlayer.controls.play(); // play what ever file is loaded
}
</script>
<form name="mediaPlay">
<select name="radiostations" size="1">
<option selected value="http://listen.radionomy.com/smoothmusicradio">Smooth Music</option>
<option value="http://www.urbanhotradio.com/hiphop/music/stream.asx">Hip-Hop</option>
<option value="http://www.orsradio.com/asx/rnbclassic.asx">R&B Soul</option>
</select>
<noscript>
<input type="button" value="Play Now!"
onClick="location=document.mediaPlay.radiostations.options
[document.mediaPlay.radiostations.selectedIndex].value">
</noscript>
</form>
<OBJECT ID="MediaPlayer" WIDTH="100%" HEIGHT="100" CLASSID="CLSID:6BF52A52-394A-11d3-B153-00C04F79FAA6"
STANDBY="Loading Windows Media Player components..." TYPE="application/x-oleobject">
<PARAM NAME="FileName" VALUE=newStation.options[newStation.selectedIndex].value>
<PARAM name="ShowControls" VALUE="true">
<param name="ShowStatusBar" value="true">
<PARAM name="ShowDisplay" VALUE="false">
<PARAM name="autostart" VALUE="false">
<EMBED TYPE="application/x-mplayer2" SRC=newStation.options[newStation.selectedIndex].value NAME="MediaPlayer"
WIDTH="100%" HEIGHT="100" ShowControls="1" ShowStatusBar="1" ShowDisplay="0" autostart="0">
</EMBED>
</OBJECT>
答案 0 :(得分:1)
我不确定这些是否是唯一的问题,但是你的JS有两个明显的问题:
您正在使用document.getElementById("radiostations")
来引用您的select元素,但该元素没有id
属性 - 您需要将id="radiostations"
添加到标记中:
<select id="radiostations" name="radiostations" size="1">
您的脚本块在表单之前,因此当JS运行时浏览器尚未解析select - 因此它将无法访问select元素(即使在您修复了id问题之后) )。您可以通过将脚本块移动到正文的底部(或至少在select元素之后的某个位置)和/或将代码放在onload
处理程序中来解决此问题。
(另外我注意到你的<noscript>
块里面有一个试图使用JavaScript的按钮 - 这不会起作用......)