【问题标题】:Get drop-down menu displaying right in Internet Explorer获取在 Internet Explorer 中正确显示的下拉菜单
【发布时间】:2013-12-31 02:08:26
【问题描述】:

好吧,这是我的问题。我创建了一个非常简单的下拉菜单表单,使用 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 菜单,这已经足够了。我的问题是:有没有办法像在 Chrome 中一样在 IE 中显示下拉菜单?

我已经尝试将类设置为表单、选择和选项标签以设置它们的顶部,但这并没有解决我的问题。有什么想法吗?

【问题讨论】:

    标签: javascript forms internet-explorer option


    【解决方案1】:

    您没有指定遇到此问题的 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

    【讨论】:

    • 感谢您的回答。我确实在使用 Internet Explorer 11,它也漂浮在 Internet Explorer 窗口本身上。所以基本上,这只是一个奇怪的 IE 行为,没有办法也不需要修改它?
    • 正确。尽管其他浏览器的行为不同,IE11 开发人员显然希望这样。
    猜你喜欢
    • 1970-01-01
    • 2012-10-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多