我有一个表单元素,我想通过javascript解决,但它不喜欢语法。
<form name="mycache">
<input type="hidden" name="cache[m][2]">
<!-- ... -->
</form>
我希望能够说:
document.mycache.cache[m][2]
但显然我需要指出cache[m][2]
是全名,而不是cache
的数组引用。可以吗?
答案 0 :(得分:3)
更新:实际上,我错了,你可以使用[或]字符作为表单元素id和/或name属性的一部分。
以下是一些证明它的代码:
<html>
<body>
<form id="form1">
<input type='test' id='field[m][2]' name='field[m][2]' value='Chris'/>
<input type='button' value='Test' onclick='showtest();'/>
<script type="text/javascript">
function showtest() {
var value = document.getElementById("field[m][2]").value;
alert(value);
}
</script>
</form>
</body>
</html>
更新:您还可以使用以下命令从表单元素中获取值:
var value = document.forms.form1["field[m][2]"].value;
答案 1 :(得分:2)
请改用document.getElementsByName("input_name")
。跨平台也是。取胜。
答案 2 :(得分:1)
是否可以向表单元素添加id引用并使用document.getElementById?
答案 3 :(得分:1)
- 在过去(在HTML3.2 / 4.01过渡/ XHTML1.0过渡DOM绑定中)你可以使用:
form.elements["cache[m][2]"]
- 但正如Chris Pietschmann所示,这些元素的东西没有必要,因为这些绑定方案也允许直接访问(虽然我个人更喜欢额外的可读性! - )