Re: [問題] javascript如何讀寫控制項陣列的值

看板Web_Design作者 ( ^-^)時間20年前 (2005/02/17 23:06), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串1/1
如果用普通的 form.vname 的方式是行不通的, 因為 "[", "]" 基本上不能當作變數名稱 但是有點小技巧可以取 可以寫成 form["vname"] 的形式 所以 如果你想要存取第 i 個 <input type="text" name="test[]"/> 的值 就這樣寫 var result = document.form["test[]"][i].value; 這是取巧的方法,照理來說, form 是一個 HTMLFormElement,是一個 Node 不是 NodeList 或是 NamedNodeMap 或 HTMLCollection 所以應該不能用 form["test[]"] 這種相當於 form.NamedItem("test[]") 寫法的縮寫的寫法。 不過在 Firefox 1.0跟 IE6下試就是可以 XD 合理的寫法是 form.elements["test[]"] 之類的。 也許我漏了什麼? ※ 引述《mouse26 (請吱解我)》之銘言: : 謝謝你的回答 這樣的確可以在javascript裡當陣列用了 : 不過如果一定要是有加[]的話 該怎麼辦呢? : <input type="text" name="test[]"> : 因為這個表單是要傳給PHP接收的 : 所以必須要加[]php才會當作陣列接收 : 請問有什麼方法解決嗎? : ※ 引述《TKirby ( ^-^)》之銘言: : : 不用加 [] ,直接寫 test 用 javascript 就可以當陣列讀了 : : <form name="form1" method="post" action=""> : : <input type="text" name="test"> : : <input type="text" name="test"> : : <input type="text" name="test"> : : </form> -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.30.52 ※ 編輯: TKirby 來自: 140.112.30.52 (02/17 23:15)

210.85.4.189 02/18, , 1F
ok 了解~謝謝!!
210.85.4.189 02/18, 1F
文章代碼(AID): #125BB_bo (Web_Design)
文章代碼(AID): #125BB_bo (Web_Design)