为什么这个JavaScript函数没有重定向到选定的选项值?
问题描述:
我有一个JavaScript函数:为什么这个JavaScript函数没有重定向到选定的选项值?
function redirect(location) {
window.location.href=location;
}
我使用的,像这样:
<select onChange="redirect(this.options[this.selectedIndex].value)">
<option value="http://mysite.com/videos">One</option>
<option value="http://mysite.com/music">Two</option>
</select>
我期待它重定向到所选择的选项值,但一点儿也不似乎做任何事情? - 记住我是JavaScript新手。
希望有人能帮助! :)
答
试试这个:
<select onChange="redirect(this.value)">
答
试试这个
<script>
function redirect() {
var location=document.getElementById("i").value;
window.location.href=location;
}
</script>
<select onChange="redirect()" id="i">
<option value="http://mysite.com/videos">One</option>
<option value="http://mysite.com/music">Two</option>
</select>
答
你的代码本身的功能(我想)。
你在哪里放置函数定义? 页面上是否有其他JavaScript代码?
在哪个浏览器中测试? 如果您在Firefox中运行它,请检查错误控制台(Tools-> error console)。
我也注意到,Internet Explorer 8阻止这个JavaScript,我要检查允许阻止的内容为此工作。
答
可能是因为location
是调用window.location
短的路,所以只重命名您的输入参数 - _location
,newLocation
,loc
,任何其他人。
UPDATE
不,这应该工作。由于只有
<select onChange="redirect(this.options[this.selectedIndex].value)">
<option value="http://mysite.com/videos">One</option>
<option value="http://mysite.com/music">Two</option>
</select>
<script type="text/javascript">
function redirect(location) {
window.location.href=location;
}
</script>
在页面上给了我想要的结果,这样的错误可能是周围的地方 - 只是给我们更多的代码!
好 - 我在Chrome和FF上试过你的代码,它似乎工作正常。你试过哪个浏览器?我希望在你测试的代码中没有错别字。 – anirvan 2010-12-22 08:07:36