IE9 / IE7选择标签表现不同

时间:2012-05-16 19:20:20

标签: html internet-explorer internet-explorer-7 internet-explorer-9

<select size="4" name="lbxEmployees" id="lbxEmployees" disabled="disabled" class="FormDropDown" style="width:100%;">
        <option value="1">jim jubak</option>
        <option value="2">Peyton Andrew</option>
        <option selected="selected" value="3">Pat smith</option>
        <option value="4">Mark Smith</option>
        <option value="5">Kobe Bryan</option>
</select>

以上代码在IE9和IE7上的呈现方式不同。有人可以解释原因吗?两个浏览器都禁用了选择框,但其中一个显示所选值(IE7)而另一个不显示(IE9)。

2 个答案:

答案 0 :(得分:1)

这只是因为IE9是一个不同的浏览器。 IE7于2006年发布,而IE9则在2011年发布。没有必要显示未启用的内容的默认值,因此他们已将其禁用..

编辑: 如果由于安全性而要禁用它,则应在服务器端强制执行此操作。如果黑客复制了您的源代码,并删除了“禁用”部分,他们也可以更改并包含该信息。

答案 1 :(得分:0)

有趣的是,从启用的复选框开始,我尝试将其作为欺骗IE9的方法...

<script type="text/javascript">

 document.getElementById("lbxEmployees").value = 3;

 document.getElementById("lbxEmployees").disabled=true;

</script>

没用。在IE7中做了

(如果你的目标是向用户提供所选的值并且必须有选择框)看起来我们可能需要做类似......

  <div id="EmployeesDiv">

    Employee:

    <select name="lbxEmployees" id="lbxEmployees">
      <option value="1">jim jubak</option>
      <option value="2">Peyton Andrew</option>
      <option selected="selected" value="3">Pat smith</option>
      <option value="4">Mark Smith</option>
      <option value="5">Kobe Bryan</option>
    </select>

  </div>


<script type="text/javascript">

 window.onload = function() {
 var selectBox = document.getElementById("lbxEmployees");
 var val = (selectBox.options[selectBox.selectedIndex].text;

/* remove select box and replace */
document.getElementById("EmployeesDiv").innerHTML ="Employee: "+val;
}
</script>

你的应用程序可能有一种更简单的方式,IE9的东西让我思考......

*如果禁用的原因是安全性不好,请在页面打印之前在服务器端执行所有操作,如果是这样的话!