[問題] Format of name attribute in input tag

看板Web_Design作者 (南洋大兜蟲)時間14年前 (2012/01/17 14:23), 編輯推噓3(306)
留言9則, 4人參與, 最新討論串1/1
我們在設計 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

01/17 15:39, , 1F
我個人認為的是,命名隨便命是OK的,沒有人規定 name
01/17 15:39, 1F

01/17 15:40, , 2F
應該要怎麼取。 但是重點是在使用的情況是另外一部分
01/17 15:40, 2F

01/17 15:40, , 3F
當你要被定義成陣列就要遵守陣列的命名或規矩
01/17 15:40, 3F

01/17 16:06, , 4F
你寫name="ary[]" 那個標籤的name就真的只是ary[]
01/17 16:06, 4F

01/17 16:06, , 5F
只是有些後端語言會把這種情況解析為陣列而已
01/17 16:06, 5F

01/17 16:06, , 6F
真的在傳送時 其實都是字串 你可以去看header資料
01/17 16:06, 6F

01/18 11:33, , 7F
php跟jsp的處理行為好像不一樣,我記得PHP可以這樣搞
01/18 11:33, 7F

01/18 11:34, , 8F
jsp.... 聽說名稱就真的會是「ary[]」
01/18 11:34, 8F

01/19 00:26, , 9F
關於樓上說的,我頗想知道更多XD
01/19 00:26, 9F
文章代碼(AID): #1F5HFWUC (Web_Design)