如何在javascript中转义DOM名称?

如何在javascript中转义DOM名称?,javascript,Javascript,我有一个表单元素,我想通过javascript处理它,但它不喜欢语法 <form name="mycache"> <input type="hidden" name="cache[m][2]"> <!-- ... --> </form> 但显然我需要指出cache[m][2]是整个名称,而不是对cache的数组引用。可以这样做吗?更新:实际上,我错了,您可以使用[或]字符作为表单元素id和/或名称属性的一部分 这里有一些代码可以证明这一点

我有一个表单元素,我想通过javascript处理它,但它不喜欢语法

<form name="mycache">
  <input type="hidden" name="cache[m][2]">
  <!-- ... -->
</form>

但显然我需要指出cache[m][2]是整个名称,而不是对cache的数组引用。可以这样做吗?

更新:实际上,我错了,您可以使用[或]字符作为表单元素id和/或名称属性的一部分

这里有一些代码可以证明这一点:

<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>

更新:事实上,我错了,您可以使用[或]字符作为表单元素id和/或名称属性的一部分

这里有一些代码可以证明这一点:

<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>

是否可以向表单元素添加id引用并使用document.getElementById?

是否可以向表单元素添加id引用并使用document.getElementById?

改用document.getElementsByNameinput\u name。也要跨平台。赢。

改用document.getElementsByNameinput\u name。也要跨平台。赢。

-在过去的HTML3.2/4.01 transitional/XHTML1.0 transitional DOM绑定中,您可以使用:

form.elements["cache[m][2]"]

-但是,正如Chris Pietschmann所展示的,元素的内容是不必要的,因为这些绑定方案也允许直接访问,尽管我个人更喜欢额外的可读性-

-在过去的HTML3.2/4.01 transitional/XHTML1.0 transitional DOM绑定中,您可以使用:

form.elements["cache[m][2]"]

-但是,正如Chris Pietschmann所展示的,元素的内容是不必要的,因为这些绑定方案也允许直接访问,尽管我个人更喜欢额外的可读性-

实际上getElementByName不是跨平台的。这是一个IE特有的东西。事实上,它只是从一个浏览器到下一个浏览器的错误。事实上,:,name属性只对XHTML中的表单元素有效,这就是它有错误的原因!如果您仅将其用于输入选择和文本区域,则它可以正常工作。实际上,getElementByName不跨平台。这是一个IE特有的东西。事实上,它只是从一个浏览器到下一个浏览器的错误。事实上,:,name属性只对XHTML中的表单元素有效,这就是它有错误的原因!如果您只在输入选择和文本区域使用它,它就可以正常工作,这让我走上了正确的方向。。。。能够引用名称作为数组索引很好。名称可以包含[和]字符,但即使浏览器执行错误恢复,id也可能不包含。这让我走上了正确的方向。。。。能够引用名称作为数组索引是很好的。名称可以包含[和]字符,但即使浏览器执行错误恢复,id也可能不包含。好吧,狗娘养的。我想我试过了,但只能用数字输入。当然,它是有效的。元素和许多其他元素集合。图像。框架等等正是集合,所以元素可以通过两种方式访问…好吧,狗娘养的。我想我试过了,但只能用数字输入。当然,它是有效的。元素和许多其他元素集合。图像。框架等等正是集合,因此元素可以通过两种方式访问。。。