作者tonytonyjan (南洋大兜蟲)
看板Web_Design
標題[問題] Format of name attribute in input tag
時間Tue Jan 17 14:23:24 2012
我們在設計 from 表單時
如果需要將多個 input tag value 當陣列傳給 server
在定義 attribute 時往往會有這樣的寫法:
name="ary[]" value="v1"
name="ary[]" value="v2"
或者二維陣列:
name="users[0][name]" value="v1"
name="users[0][email]" value="v2"
name="users[1][name]" value="v3"
name="users[1][email]" value="v4"
正當我思考可否這樣寫時:
name="ary[0][]" value="v1"
name="ary[1][]" value="v2"
我覺得這種 trial and error 的方法去學習 name attribute 的格式沒有意義
最快的方式應該是找到 spec 然後記下來,以後就不會似懂非懂
於是我開始去翻 HTML 4.01 的規格
http://tinyurl.com/29bnm
只是裡面對於 control name 的解釋並沒有說到命名方式和陣列的關係
問題一:
所以命名方式和陣列的關係是被定義在後台嗎?(如 PHP、ASP、JSP、etc)
問題二:
如果是的話,他們又怎麼有默契的設計成一樣?是否有參考其他規範書?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.113.246.1
推 kerash:我個人認為的是,命名隨便命是OK的,沒有人規定 name 01/17 15:39
→ kerash:應該要怎麼取。 但是重點是在使用的情況是另外一部分 01/17 15:40
→ kerash:當你要被定義成陣列就要遵守陣列的命名或規矩 01/17 15:40
推 mrbigmouth:你寫name="ary[]" 那個標籤的name就真的只是ary[] 01/17 16:06
→ mrbigmouth:只是有些後端語言會把這種情況解析為陣列而已 01/17 16:06
→ mrbigmouth:真的在傳送時 其實都是字串 你可以去看header資料 01/17 16:06
推 LaPass:php跟jsp的處理行為好像不一樣,我記得PHP可以這樣搞 01/18 11:33
→ LaPass:jsp.... 聽說名稱就真的會是「ary[]」 01/18 11:34
→ tonytonyjan:關於樓上說的,我頗想知道更多XD 01/19 00:26