看板 Ajax 關於我們 聯絡資訊
各位好 剛才在網上逛逛 看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
shadowjohn: 你只要記document.getElementsByName("OOXX") 12/21 16:28
shadowjohn: 其他的都不建議 12/21 16:28
shadowjohn: jquery好寫多了 $("*[name='OOXX']") 同上面那個 12/21 16:29
shadowjohn: 不過name是可重覆名稱,可以用lenth得知有幾個同name 12/21 16:30
ian90911: getAttribute("name") 呢 12/21 16:59
ian90911: 回錯了 請無視...orz 12/21 16:59
xdraculax: name 是可重複的屬性,如有多個表單,元件用到相同 nam 12/21 18:59
xdraculax: e,可能得到非預期結果 12/21 18:59
xdraculax: 這範例不太好 表單的 name 也叫 form,容易搞混 12/21 19:00
xdraculax: document.form 這個 form 是 name,如果表單名稱與某 d 12/21 19:08
xdraculax: ocument 屬性相同會有問題,document.forms['form'] 這 12/21 19:08
xdraculax: 個 forms 是預設的表單集合,'form' 是 name,不會有與 12/21 19:08
xdraculax: document 屬性重複的隱憂,個人偏好用 id 或 forms 12/21 19:08
xdraculax: 明確的選取目標 12/21 19:08