我有以下表格:

<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对象访问它?

最佳答案

这有效:

document.quickAdd['quickAddFields[module]']


现场演示:http://jsfiddle.net/yWm3L/

表单元素的名称包含[]字符。因此,您不能使用点符号(例如foo.bar)。相反,您必须使用下标符号(例如foo['bar'])。

关于javascript - 访问表单字段数组,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11328769/

10-11 08:25