2
<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)。

4

2 に答える 2

1

IE9が別のブラウザだからです。IE7は2006年にリリースされ、IE9は2011年にリリースされました。有効になっていないもののデフォルトを示す意味がないため、無効にしています。

編集:セキュリティのために無効にしたい場合は、サーバー側でそれを強制する必要があります。ハッカーがソースコードをコピーし、「無効」な部分を削除すると、ハッカーはその情報を変更して含めることができます。

于 2012-05-16T20:42:28.280 に答える
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のことは私に考えさせました...

*無効にする理由がセキュリティである場合はあまり良くありません。その場合は、ページを印刷する前にサーバー側でこれらすべてを実行してください。

于 2012-05-16T20:41:45.693 に答える