2011-03-09 19 views

回答

2

可悲的是,我沒有對此進行測試的時間,但我希望下面的可以幫助你......

如果我沒有記錯的話,第一個元素是默認選擇加載頁面時。因此,創建一個form並且具有multiple屬性活躍,有幾個options一個select一個非常簡單的HTML文件。然後,打開文件以查看Chrome,Firefox,Internet Explorer,Opera和Safari等瀏覽器中發生的情況。

另一件事是要尋找什麼HTML5說這個位置:http://dev.w3.org/html5/spec/Overview.html#the-select-element

UPDATE

W3C的HTML 4.01標準中寫明這一點(滾動一點在你提供的鏈接下):

17.6.1預先選擇的選項

零個或多個選擇可以 預先選擇的用戶。用戶代理 應確定哪些選擇是 預先選擇如下:

如果沒有OPTION元件已選定 屬性集,用戶代理行爲 選擇哪個選項是最初選擇 是未定義的。注意。由於 現有的實現不同的方式處理此 情況下,電流 規範不同於RFC 1866 ([RFC1866]部分8.1.3),其 狀態:初始狀態有選擇的 第一個選項,除非 SELECTED屬性存在在任何 的元素。 由於用戶 代理行爲不同,作者應 確保每個菜單包括 默認預先選定的選項。

如果一個OPTION元素具有選定的 屬性集,則應該預先選擇 。如果SELECT元素 具有多屬性集並且 多於一個OPTION元素具有 所選屬性集,則應該預先選擇它們應該 。它被認爲是 一個錯誤,如果多個選項 元件已選定的屬性集 和SELECT元件不具有 多個屬性集。用戶 代理可能會在處理 這個錯誤方面有所不同,但不應該預先選擇多於一個選項的 。

1

不幸的是,@Alerty是錯誤的。如果多個屬性存在所述選擇元件上但沒有選擇元件具有所選擇的屬性,那麼沒有元件是默認選擇。 (測試IE 9,FF 5,鉻13,和Safari 5在Win 7)

那麼,究竟應該在網頁瀏覽器做,如果用戶不選擇任何尚未提交表單?它應該完全符合你的期望:提交沒有選擇。而這正是HTML5規範的當前版本說:

「多重屬性是一個布爾屬性如果屬性存在,則選擇元素表示從列表中選擇或多個選項的控制。的選擇。「

http://dev.w3.org/html5/spec/Overview.html#the-select-element

+0

'選擇元素代表了從options.'到我的列表中選擇零個或多個選項的控制,即表明瀏覽器應該具有相同的行爲方式,如果1個... N選項在選擇時比如果選擇0。此外,我認爲@Alerty是完全正確的,我檢查了規範,上面清清楚楚地寫着「爲選擇的用戶代理行爲的選項最初選擇是不確定的」,這將假設,如果選擇0選項,應該有一個反正,和用戶代理應該選擇它,...那其實是很清楚... – sebpiq 2011-08-22 06:01:20

+0

確定。但顯然,這4家瀏覽器供應商並不像您所做的那樣閱讀規範。 :-) – 2011-08-22 13:11:53

+0

我不知道!也許他們有一個祕密會議,他們都同意這個!重大!問題:)我不知道,如果它確實是指定明確的地方,或者如果他們只是複製彼此有相同的行爲,或者如果它僅僅是一個巧合...但你必須承認,這些語錄從規格不是很清楚......你不覺得嗎? – sebpiq 2011-08-23 06:49:26