如何在JavaScript中转义DOM名称?
时间:2020-03-06 14:57:08 来源:igfitidea点击:
我有一个要通过javascript处理的表单元素,但它不喜欢语法。
<form name="mycache"> <input type="hidden" name="cache[m][2]"> <!-- ... --> </form>
我想能够说:
document.mycache.cache[m][2]
但是显然我需要指出" cache [m] [2]"是全名,而不是对" cache"的数组引用。能做到吗
解决方案
更新:实际上,我错了,我们可以将[或者]字符用作表单元素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>
更新:我们还可以使用以下内容从form元素获取值:
var value = document.forms.form1["field[m][2]"].value;
是否可以向表单元素添加id引用并使用document.getElementById?
请改用document.getElementsByName(" input_name")
。也跨平台。赢。
-并且在过去(在HTML3.2 / 4.01过渡/XHTML1.0过渡DOM绑定中),我们可以使用:
form.elements["cache[m][2]"]
-但是元素-就像Chris Pietschmann所示,不是必需的,因为这些绑定方案还允许直接访问(尽管我个人更喜欢额外的可读性!-)