2010-09-02 32 views
11

我瀏覽了XHTML中的複選框輸入的許多在線文檔。任何人都可以清除我的疑問這個name字段實際上代表什麼?複選框輸入元素中`name`屬性的用途是什麼?

Milk: <input type="checkbox" name="checkbox" value="Milk"> 
Chocolate: <input type="checkbox" name="checkbox" value="chocolate"> 
Cold Drink: <input type="checkbox" name="checkbox" value="Cold Drink"> 

我認爲這是特定的複選框,可後來在其他文件通過單指其名稱中使用的標識符,但考慮到所有的複選框有相同的名字,爲什麼還要指定呢?對此有點困惑。

+0

與多個輸入會發生什麼同名:http://stackoverflow.com/questions/452066/html-form-with-multiple-hidden-control-elements-of-the-same-name – 2016-05-31 21:48:30

回答

19

不要因爲name="checkbox"而感到困惑。從邏輯上講,這可能是name="drink"type=checkbox

在上述情況下,您有多個同名的複選框。當多個複選框具有相同的名稱時,表單將在請求中向服務器發送一組值。注意:只有複選框的值將被髮送到服務器。

理想情況下,這些用於允許多個選項問題,其中允許多個答案。 與單選按鈕相反,在選項中只允許有一個答案。

更新:

在接收端,如果你使用JSP例如 - 選擇複選框的值將作爲request.getParameterValues("drink")request.getParameterValues("checkbox")在您的實際情況。這是使用name屬性的地方。

+0

所以現在如果我想使用特定的複選框的值和時間忽視其他人,我使用名稱屬性作爲標識符? – 2010-09-02 12:15:03

+0

@Nagaraj:是的,在我的更新中,您可以使用*名稱獲得所選複選框的*值*(即牛奶,巧克力) – JoseK 2010-09-02 12:20:28

4

名稱屬性用於 參照表格數據它 提交之後,並引用在客戶端使用JavaScript數據 。

來源:http://reference.sitepoint.com/html/input/name

基本上,你所描述的東西。表單提交後,您可以通過name來獲取表單元素的值。

唯一的地方,你會希望有多個input s與name是當他們是單選按鈕,在這種情況下,它是用來表示哪一個屬於同一組,因此只有一個可以一次選擇。

+0

@Yi這意味着,名稱代表標識符,我可以使用其他地方爲了訪問該複選框的值? – 2010-09-02 12:12:19

+0

@Nagaraj:是的,這基本上是什麼屬性是 – 2010-09-02 12:13:45

-1

「名稱」一樣的是DATABSE紀錄,每場應該有一個名字,所以當你點擊提交,數據將記錄到數據庫中~~~~~

相關問題