2011-04-14 71 views
0

任何人都可以解釋爲什麼我的input type="file"在IE8中灰顯,但不是IE7。它仍然可用,但實際上不能再輸入框。爲什麼IE8中的<input type =「file」>框灰色?

<INPUT id="fil1" type="file" size="44" name="fil1" runat="server"> 

IE7:

In IE7

IE8:

In IE8

+0

只是其瀏覽器更新 – 2011-04-14 11:47:50

+0

它工作正常,直到昨天,現在它已經壞了!我試圖刪除最近兩天的Windows更新,仍然沒有去!微軟瘋狂:如果某些東西能夠工作10年,他們難道不會認爲很多人正在使用它! – Yahel 2011-04-14 15:26:14

+0

爲什麼這個問題被標記下來。這當然是一個有用的問題,並且明確解釋。 – Urbycoz 2011-04-16 20:46:33

回答

2

<input type='file'>被視爲所有瀏覽器中的特例輸入字段。幾乎所有的瀏覽器看起來都不一樣,使用CSS也不容易使用樣式。

原因是瀏覽器認爲它存在安全問題,例如,用戶可能在沒有意識到的情況下上傳文件。因此,他們強制執行標準的外觀和感覺,以便該字段始終能夠被識別。它們還阻止CSS和Javascript訪問該字段,以便它們不能修改它的外觀或改變其值。

對於IE8,瀏覽器開發人員已經決定允許用戶訪問該字段的唯一方式是通過文件選擇器按鈕。這是IE開發者爲提高安全性做出的明智決定。你無能爲力。

爲了好奇,你應該看看<input type='field'>是如何在其他瀏覽器(Firefox,Safari,Chrome,Opera等)中渲染的......你會驚訝於它們在呈現方式上的差異。這可能是單一最無法呈現的元素。

+0

謝謝。剛剛說服我的呻吟客戶,那麼這是一個「積極的變化」。他們現在看到的情況相當不同:-) – Urbycoz 2011-04-14 12:04:21

+1

@Urbycoz - 請參閱http://en.wikipedia.org/wiki/File_select - quote:「某些瀏覽器...不再允許直接輸入文件名。這是一項安全措施......「 – Spudley 2011-04-14 12:11:56

+0

有用。乾杯! – Urbycoz 2011-04-14 13:11:53

-1

因爲文本框是隻讀的;這是預期的行爲。您可以使用瀏覽按鈕選擇一個文件。

鍵入不是一個選項,因爲該文件在用戶的PC上,並且網頁無法直接訪問這些文件。

+0

鍵入是IE7中的一個選項。如果你知道完整的路徑,並且出於某種原因寧願輸入它,該怎麼辦?它不需要訪問任何東西。 – Urbycoz 2011-04-14 12:05:01

相關問題