我只在IE中使用html< select>获得一个奇怪的问题和<选项>。代码读取..
<select class="logo" name="logoControl" id="logoControl" tabindex="1" onChange="top.location.href=this.options[this.selectedIndex].value;" value="GO">
<option selected="selected" value="">My URL1</option>
<option value="http://google.com">My URL2</option>
<option value="http://facebook.com" >My URL3</option>
<option value="http://twitter.com">My URL4</option>
</select>
以上代码应该是我的应用程序徽标和选择链接。默认的“已选择”链接是我的应用程序,其他选择选项是指外部网站。 这在Firefox和Chrome中运行良好。然而,在IE中,我面临以下问题: 当我点击我的任何应用程序菜单时,我被引导到相应的URL。但是,在导航到该URL后,如果我单击上面的“我的URL1”选择框,IE会在主机名后面看到第二个“/”时切断URL ..即,如果菜单URL是
"http://myhost.com/path1/path2.do?param1="
IE将其剪切为:
"http://myhost.com/path1/"
点击我的应用程序菜单,它工作正常。只有单击上面提到的第一个选择选项才会发生此错误。 ie。而不是保留在同一页面中,IE尝试将URL切断到第二个“/”并尝试加载页面。
有人建议我解决这个问题吗?
答案 0 :(得分:0)
你的改变太过分了。试试这个:
<select class="logo" name="logoControl" id="logoControl" tabindex="1" onchange="top.location.href=this.value">
<option selected="selected" value="">My URL1</option>
<option value="http://google.com">My URL2</option>
<option value="http://facebook.com" >My URL3</option>
<option value="http://twitter.com">My URL4</option>
</select>
答案 1 :(得分:0)
我通过添加以下两个步骤间接修复了这个问题:
1)禁用我的第一个选择选项,即“我的URL1”
<option selected="selected" value="" disabled="disabled">My URL1</option>
2)加载时,将“我的URL1”设为“已选中”,这样当我们导航到“我的URL2”或“我的URL3”等其他网址时,点击“返回”按钮,我们回到“我的网址1”中的相同位置和选择框徽标也显示为“我的网址1”
document.getElementById("logoControl").options[0].selected="selected";