嗯,这是我的问题。我创建了一个非常简单的下拉菜单表单,使用Javascript和HTML(当然还有互联网)。它在下面的框架中打开一个页面,在Chrome中完美运行。它在Internet Explorer中可以工作,但如果在列表中选择较低的选项,请关闭菜单并重新打开它,选项“浮动”在表单上。
<form action="../cgi-bin/redirect.pl"
method=post onSubmit="return dropdown(this.selection)"
target="Frame2">
<select name="selection">
<option value="">Choose an option:
<option value="2012-2013.html">2012/2013
<option value="2011-2012.html">2011/2012
<option value="2010-2011.html">2010/2011
<option value="2009-2010.html">2009/2010
</select>
<input type=submit value="Choose">
</form>
这是JavaScript:
function dropdown(mySel){
var myWin, myVal;
myVal = mySel.options[mySel.selectedIndex].value;
if(myVal) {
if(mySel.form.target)myWin = parent[mySel.form.target];
else myWin = window;
if (! myWin) return true;
myWin.location = myVal; }
return false;}
正如您在this图片中看到的那样,它在Google Chrome中的功能正常。但不在Internet Explorer ,很多人仍然使用该浏览器。我今天真的不需要这些花哨的CSS菜单,这已经足够好了。我的问题是:是否有一个解决方案来显示IE中的dropdownmenu,就像它显示在Chrome中一样?
我已经尝试将类设置为表单,选择和选项标签来设置它们的顶部,但这并没有解决我的问题。有什么想法吗?
答案 0 :(得分:0)
你没有指定你看到这个问题的IE的哪个版本,但在IE11中,它不仅漂浮在窗体上,而且漂浮在IE窗口本身上。它似乎是IE的默认行为。你问的问题(为了说明这个问题)可以被剥夺它的js,因为你的问题是关于帖子之前发生了什么。我可以在这里用简化的html复制你的问题。
<!DOCTYPE html>
<html>
<body>
<form>
<select name="selection">
<option value="">Choose an option:
<option value="2012-2013.html">2012/2013
<option value="2011-2012.html">2011/2012
<option value="2010-2011.html">2010/2011
<option value="2009-2010.html">2009/2010
</select>
<input type=submit value="Choose">
</form>
</body>
</html>
您的情况是一个我个人不会担心的边缘情况。大多数人都没有使用IE,大多数人都不会重新选择一个选项。如果他们这样做,他们就会看到IE下拉行为就这样了。
以下是雅虎注册页面的快照。我在月份下拉菜单中选择了12月并重新选择了它。它们的下拉行为在IE中表现相同(与您的一样): http://tinypic.com/r/1qh1si/5