复选框检查器JavaScript不起作用。逃逸?

时间:2010-04-28 11:33:06

标签: javascript function checkbox escaping

在我的表单中,我的复选框元素名称为onSite[]

我制作了一个简单的JavaScript,只需点击一下即可查看。

function checkAll(field)
{
for (i = 0; i < field.length; i++)
    field[i].checked = true ;
}

在HTML中有一个调用该函数的按钮。

<input type="button" name="CheckAll" value="All" onClick="checkAll(document.sharepage.onSite[])">

不幸的是它不起作用,因为我正在制作已检查元素的数组,[]混淆了我的JS。 你知道解决它的任何解决方案吗?

2 个答案:

答案 0 :(得分:5)

当您需要访问名称包含特殊字符的属性时,请使用square bracket notation

document.forms.sharepage.elements['onSite[]']

答案 1 :(得分:1)

尝试将onclick处理程序与HTML分开。

document.getElementById("bt1").onclick = function(){
  CheckAll();
};

function CheckAll()
{
  var elems = document.forms.sharepage.elements['onSite[]'];
  var len = elems.length;

  for (i = 0; i < len; i++)
  {
    elems[i].checked = true;
  }
}