[問題] 想請問javascript的name屬性取得元件方法

看板Ajax作者 ( )時間8年前 (2016/12/21 15:52), 編輯推噓2(2012)
留言14則, 3人參與, 最新討論串1/1
各位好 剛才在網上逛逛 看JavaScript教學時,發現不太清楚的東西 麻煩各位開導小弟 剛學JavaScript時 取得元件 學到都是使用 getElementById、getElementsByName 如果 原始碼是 <form name='form' id='form'> 姓名: <input type='text' name='name' id='name' /> E-mail: <input type='text' name='email' id='email' /> <input type='button' name='submit' value='送出' onclick='processFormData();' /> </form> 要取得name這的Input元件 使用 Document.getElementsByName("name")[0] 剛才看到可以直接寫 Document.form.name 有的是 Document.forms['form'].elements['name'] or Document.form.elements['name'] or Document.form.elements.name 請問這些寫法的差別是? 這樣的話還可以有多個同名的元件嗎? 謝謝各位 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 211.22.92.217 ※ 文章網址: https://www.ptt.cc/bbs/Ajax/M.1482306749.A.6F7.html

12/21 16:28, , 1F
你只要記document.getElementsByName("OOXX")
12/21 16:28, 1F

12/21 16:28, , 2F
其他的都不建議
12/21 16:28, 2F

12/21 16:29, , 3F
jquery好寫多了 $("*[name='OOXX']") 同上面那個
12/21 16:29, 3F

12/21 16:30, , 4F
不過name是可重覆名稱,可以用lenth得知有幾個同name
12/21 16:30, 4F

12/21 16:59, , 5F
getAttribute("name") 呢
12/21 16:59, 5F

12/21 16:59, , 6F
回錯了 請無視...orz
12/21 16:59, 6F

12/21 18:59, , 7F
name 是可重複的屬性,如有多個表單,元件用到相同 nam
12/21 18:59, 7F

12/21 18:59, , 8F
e,可能得到非預期結果
12/21 18:59, 8F

12/21 19:00, , 9F
這範例不太好 表單的 name 也叫 form,容易搞混
12/21 19:00, 9F

12/21 19:08, , 10F
document.form 這個 form 是 name,如果表單名稱與某 d
12/21 19:08, 10F

12/21 19:08, , 11F
ocument 屬性相同會有問題,document.forms['form'] 這
12/21 19:08, 11F

12/21 19:08, , 12F
個 forms 是預設的表單集合,'form' 是 name,不會有與
12/21 19:08, 12F

12/21 19:08, , 13F
document 屬性重複的隱憂,個人偏好用 id 或 forms
12/21 19:08, 13F

12/21 19:08, , 14F
明確的選取目標
12/21 19:08, 14F
文章代碼(AID): #1OMZIzRt (Ajax)
文章代碼(AID): #1OMZIzRt (Ajax)