try 
<script language="JavaScript">
function f(index)
{
  var obj = event.srcElement;
  document.all['name'][index].style.display=(obj.checked?'':'none');
}
</script>
</head>
<p>
  <input type="text" name="name" value="1">
  <input type="checkbox" name="id" checked onclick=f(0)>
</p>
<p> 
  <input type="text" name="name" value="2">
  <input type="checkbox" name="id" checked onclick=f(1)>
</p>

解决方案 »

  1.   

    <p>
      <input type="text" name="name" value="1">
      <input type="checkbox" name="id" value="checkbox" checked>
    </p>
    <p> 
      <input type="text" name="name" value="2">
      <input type="checkbox" name="id" value="checkbox" checked>
    </p>
    <script>
    function document.onclick(){
    var e=window.event.srcElement
    if(e.type!="checkbox")return;
    e.parentElement.all("name").style.display=(e.checked?'':'none');
    }
    </script>
      

  2.   

    当有多个元素的 name 相同时,form.elements[name] 返回的不在是某个元素的引用,而是一个集合:var oCollect = oForm.elements[name];
    alert(oCollect.length);
    alert(oCollect.item(0).tagName);
    ...或者,如果想直接访问其中的某一个元素,必须用 SubIndex:var oElement = oForm.elements[name, iSubIndex];你的要求是无法实现的:如果多个 checkbox 具有同样的 name,根本就互相矛盾(这是 checkbox,不是 radio!),也无法显示出来,后面的根本谈不上。必须先把 checkbox 改成不同的名字
      

  3.   

    哦,SORRY,可以显示
    我这里显示不出来是因为用了 FORM,如果不用 FORM 还是可以显示的
    to  qiushuiwuhen(秋水无恨):
    parentElement 是什么属性啊,我查了半天也没找到
      

  4.   

    parentElement顾名思义,父元素
    评:
    这个典型例子可以列入精华区
      

  5.   

    秋水的办法是可行的,但是你的控件名绝对不要取成 name=name 或 name=id  这种关键字,否则会出错的。