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)。IE9/IE7選擇標籤行爲不同

+3

...因爲他們是不同的瀏覽器。 –

+0

哦,它可能有助於提及哪一個做什麼。 –

+0

我做了小測試,發現禁用是關鍵。 IE7顯示選中的項目甚至被禁用。 IE9沒有。 – AJP

回答

0

有趣,開始啓用複選框,我想這是一個POSS的方式來欺騙IE9 ...

<script type="text/javascript"> 

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

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

</script> 

沒有工作。在IE7的確

(如果你的目標是presnt用戶選擇的值,並必須有選擇框)看起來我們可能需要做這樣的事情......

<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的事讓我思考......

*不巨大的,如果對禁用的原因是安全性,做這一切在服務器端頁面打印若然之前!

+0

你確實提到了我想要做的事情。禁用是安全的一部分,這就是我需要這個功能的原因。 – AJP

+0

有安全和一些業務邏輯..不知道爲什麼你說,它不是很大。有時業務規則要求出頭這是獨一無二..反正..我找不到正確的答案..但你有一些合理的解決方案,所以我將標誌着你的答案.. – AJP

+0

你好,謝謝,我的意思用不是很大了 - 禁止輸入字段可以很容易地重新啓用與客戶端工具,這些天,因此,不被依賴,如果該原因禁用是安全的。 –

1

這僅僅是因爲IE9是不同的瀏覽器。 IE7是在2006年發佈的,而IE9在2011年。沒有什麼要說明什麼是默認的東西沒有啓用,所以他們已經禁用它..

編輯: 如果你想禁用它由於安全性,您應該在服務器端執行該操作。如果黑客複製您的源代碼並刪除「禁用」部分,他們將能夠更改幷包含該信息。

+0

謝謝你的回答。 – AJP