我有以下表格:
<form name="quickAdd" action="" method="post" onsubmit="return quickAddProcess(this);">
<input type="hidden" name="quickAddFields[module]" value="Products">
<input type="text" name="quickAddFields[name]">
<input type="checkbox" name="quickAddFields[toList]">
</form>
尝试从Chrome控制台访问它们时,我无法做到:
document.quickAdd.quickAddFields == undefined;
document.quickAdd.quickAddFields.module == TypeError: Cannot read property 'module' of undefined
但是,PHP完美地检索了数组。
如何使用纯JavaScript访问这些字段?
哦,document.getElementsByName('quickAddFields[module]);
有效。为什么我无法通过Form
对象访问它?
答案 0 :(得分:2)
这有效:
document.quickAdd['quickAddFields[module]']
现场演示: http://jsfiddle.net/yWm3L/
表单元素的名称包含[
和]
个字符。因此,您不能使用点符号(例如foo.bar
)。相反,你必须使用下标 - 表示法(例如foo['bar']
)。