为什么这个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新手。

希望有人能帮助! :)

+0

好 - 我在Chrome和FF上试过你的代码,它似乎工作正常。你试过哪个浏览器?我希望在你测试的代码中没有错别字。 – anirvan 2010-12-22 08:07:36

试试这个:

<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短的路,所以只重命名您的输入参数 - _locationnewLocationloc,任何其他人。

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> 

在页面上给了我想要的结果,这样的错误可能是周围的地方 - 只是给我们更多的代码!