作者TKirby ( ^-^)
看板Web_Design
标题Re: [问题] javascript如何读写控制项阵列的值
时间Thu Feb 17 23:12:33 2005
如果用普通的 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)
1F:推 mouse26:ok 了解~谢谢!! 210.85.4.189 02/18