2013-03-14 54 views
0

我完全理解在標籤上使用「for」屬性的好處。我想這是一個關於HTML規範本身的問題:爲什麼創作者想要將標籤與ID匹配而不是在字段上使用「name」屬性?在表單中,爲什麼標籤的「for」屬性不匹配字段的「名稱」屬性?

無論如何,該字段的名稱應該是唯一的,對嗎?那麼,爲什麼在99%的時間內爲該字段添加另一個屬性和額外的HTML,字段ID最終成爲字段名稱的直接匹配?

編輯

在單選按鈕的情況下,正如你們許多人說,這個名字是不是唯一的,但在這種情況下,你不會需要「的」元素標籤因爲你可以將label包裹在現場本身,對嗎?

+3

字段'name'不應該是唯一的。注意'' – Sergio 2013-03-14 13:49:58

+0

如果收音機名稱相同, – 2013-03-14 13:50:54

+0

編輯我的問題,以包括單選按鈕具有相同名稱的情況。 – magzalez 2013-03-14 14:01:52

回答

0

這個名字不是唯一的我的朋友! 像單選按鈕btw;) 而所有的選擇器都基於ID。

實施例:

<fieldset> 
<label for="radio1"> 
<input type="radio" name="allRadios" id="radio1"> 
<label for="radio2"> 
<input type="radio" name="allRadios" id="radio2"> 
</fieldset> 

JavaScript函數:

document.getElementsByName( 「allRadios」)給出了一個陣列即使當存在具有名稱廣播的document.getElementById( 「收音機1」)只有一個元素是給一個DOM元素。

實施例:

2

name的屬性並不總是唯一的:單選按鈕通常共享相同name

編輯

輸入的可以包裹在標籤的,這是有效的。但人們可以想到你不能或不想包裝標籤的情況。例如,如果標籤通過其他HTML與輸入分離。

+0

這樣一個愚蠢的疏忽;) – magzalez 2013-03-14 13:53:23

+0

編輯我的問題,包括爲什麼我不認爲這是一個表演塞。 – magzalez 2013-03-14 14:01:30

+0

用於單選按鈕的'for'屬性的用例與其他任何窗體控件相同。你並不總是希望標籤成爲控制的祖先。 – Quentin 2014-01-08 12:12:15

相關問題