<script language=javascript>
function a123(e)
{
var a=e.name;
var b=a.substr(a.length-1,a.length)
if(eval("document.all.a"+b+".disabled==false"))
{
eval("document.all.a"+b+".disabled=true")
eval("document.all.b"+b+".disabled=true")
}
else
{
eval("document.all.a"+b+".disabled=false")
eval("document.all.b"+b+".disabled=false")
}
}
</script>
<input name=a1 disabled><input name=b1 disabled><input name=c1 type=checkbox onclick=a123(this)><br>
<input name=a2 disabled><input name=b2 disabled><input name=c2 type=checkbox onclick=a123(this)><br>
<input name=a3 disabled><input name=b3 disabled><input name=c3 type=checkbox onclick=a123(this)><br>
经过测试了的,通过了

解决方案 »

  1.   

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><html>
    <head>
    <title>Untitled</title>
    <Script language="javascript">
    <!--function fncAll()
    { for (i=1;i<=document.form1.elements.length;i++)
    {
    if (document.form1.elements[document.form1.elements.length-1].checked)
    {
    document.form1.elements[i-1].disabled=false;
    }
    }
    }
    //-->
    </Script></head><body>
    <form name="form1">
    <table>
    <tr>
    <td>
    <input type="text" value="1" name="name1">
    </td>
    <td>
    <input type="text" value="1" name="nickName1">
    </td>
    <td>
    <input type="text" value="1" name="phone1">
    </td>
    <td>
    <input type="text" value="1" name="address1">
    </td>
    <td>
    <input type="checkbox" value="" name="checkbox1" onclick="">
    </td>
    </tr>
    <tr>
    <td>
    <input type="text" value="2" name="name2">
    </td>
    <td>
    <input type="text" value="2" name="nickName2">
    </td>
    <td>
    <input type="text" value="2" name="phone2">
    </td>
    <td>
    <input type="text" value="2" name="address2">
    </td>
    <td>
    <input type="checkbox" value="" name="checkbox2" onclick="">
    </td>
    </tr>
    <tr>
    <td>
    <input type="text" value="3" name="name3">
    </td>
    <td>
    <input type="text" value="3" name="nickName3">
    </td>
    <td>
    <input type="text" value="3" name="phone3">
    </td>
    <td>
    <input type="text" value="3" name="address3">
    </td>
    <td>
    <input type="checkbox" value="" name="checkbox3" onclick="fncAll()">
    </td>
    </tr>
    </table>
    </form>
    </body>
    </html>
    //我只作了3个得,3代表n
      

  2.   

    onclick改一下:
    onclick="fncAll(this.name)"
    改一下函数体
    function fncAll(names)
    {
    var temp=names.slice(8,names.length);
    var No=parseInt(temp)
    No=(No-1)*5+1 for (i=No;i<=No+3;i++)
    {
    if (document.form1.elements[No+3].checked)
    {
    document.form1.elements[i-1].disabled=true;
    }
    else
    {
    document.form1.elements[i-1].disabled=false;
    }
    }
    }
      

  3.   

    超级笨办法,但容易理解,哈<html>
    <head>
    <script language="javascript">
    <!--
    function lock_input(){
    if(form1.c1.checked==1){
    //禁用
    form1.name1.disabled = false;
    form1.nickname1.disabled = false;
    form1.phone1.disabled = false;
    form1.address1.disabled = false;
    form1.name1.style="background-color:#EBEBEB"
    }else{
    //启用
    form1.name1.disabled = true;
    form1.nickname1.disabled = true;
    form1.phone1.disabled = true;
    form1.address1.disabled = true;
    }
    }
    -->
    </script>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312"></head><body>
    <form name="form1" method="post" action="">
    <table width="600"  border="0" cellspacing="0" cellpadding="0">
         <tr>
         <td><input name="name1" type="text" id="name1" size="16" disabled></td>
         <td><input name="nickname1" type="text" id="nickname1" size="16" disabled></td>
         <td><input name="phone1" type="text" id="phone1" size="16" disabled></td>
         <td><input name="address1" type="text" id="address1" size="16" disabled></td>
         <td><input name="c1" type="checkbox" id="c1" value="1" onClick="javascript:lock_input();"></td>
        </tr>
         </table>
    </form>
    </body>
    </html>
      

  4.   

    前面是radio好象就会有问题等下我放一个上来,上面的主要问题有几个:
    1、表单元素必须规则命名[有时候大家还是不适应]
    2、如果需要高亮的Radio好象是有问题[不知道是不是我写错了]但时:
    如果不规则命名,一个个去判断那会很晕[如果表单元素很多的话]所以看能不能想个中庸之道了,比如说根据在同一行的原理或者elements[i]的规律性,我现在还没想出来。
      

  5.   

    只要放进表格里,就可以任意命名。由程序判断是否在同一行
    <html>
    <head>
    <script>
     function f(cb){
      var pp=cb.parentNode;
      while(pp.tagName!='TR'){pp=pp.parentNode;}
      var ins=pp.getElementsByTagName("INPUT");
      for(var i=0;i<ins.length;i++){ if(ins.item(i).type=='text'){ ins.item(i).disabled=!cb.checked;}  }
     }
    </script>
    </head><body>
    <table width="403" border="1">
      <tr>
        <td>姓名</td>
        <td>地址</td>
        <td>状态</td>
      </tr>
      <tr>
        <td width="168"><input type="text" name="textfield"></td>
        <td width="168"><input type="text" name="textfield2" ></td>
        <td width="45"><input name="checkbox" type="checkbox"  onClick="f(this);" value="checkbox" checked ></td>
      </tr>
      <tr>
        <td><input type="text" name="textfield3"></td>
        <td><input type="text" name="textfield22"></td>
        <td><input name="checkbox2" type="checkbox" onClick="f(this);" value="checkbox" checked></td>
      </tr>
      <tr>
        <td><input type="text" name="textfield32"></td>
        <td><input type="text" name="textfield33"></td>
        <td><input name="checkbox22" type="checkbox" onClick="f(this);" value="checkbox" checked></td>
      </tr>
    </table>
    </body>
    </html>
      

  6.   

    看看这个,我做得有点晕了!
    还有点问题:发现问题的算是好兄弟,呵呵!!另存为htm文件即可:
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    <title>checkbox的PP问题</title>
    </head><body>
    <!------------------------------------------------------------------------>
    <form name="stc" method="post" action="statistic_users.asp" target="main" onSubmit="SubmitStcForm();return false;">
    <table align="center" width="60%"  border="1"  cellpadding='4' cellspacing='0' borderColorLight='#C9DDFC' borderColorDark='#FFFFFF'>
      <tr>
        <td width="6%"><input name="stcbox" type="checkbox" id="stcbox" value="com" onClick="com.disabled=!this.checked;EnableButton(this);"></td>
        <td width="16%"><div align="left">&nbsp;运营商:</div></td>
        <td width="45%"><select name='com' class='selectshort'><option value=''></option><option value='CM'>中国移动</option><option value='CU'>中国联通</option><option value='CT'>中国电信</option></select></td>
        <td width="33%">&nbsp;</td>
      </tr>
      <tr >
        <td><input name="stcbox" type="checkbox" id="stcbox" value="stcchannel" onClick="channelnum.disabled=!this.checked;EnableButton(this);"></td>
        <td><div align="left">&nbsp;渠 道:</div></td>
        <td><select name='channelnum' class='selectshort'><option value=''></option><option value='000'>000</option><option value='880'>880</option><option value='881'>881</option><option value='885'>885</option><option value='888'>888</option></select>&nbsp;</td>
        <td>&nbsp;</td>
      </tr>
      <tr>
        <td><input name="stcbox" type="checkbox" id="stcbox" value="stcservicecode" onClick="servicetype.disabled=!this.checked;EnableButton(this);"></td>
        <td><div align="left">&nbsp;业 务:</div></td>
        <td><select name='servicetype' class='selectshort'><option value=''></option><option value='JKQM'>考勤包月</option><option value='JKPM'>点评包月</option><option value='XH'>笑话</option><option value='TQ'>天气</option></select></td>
        <td>&nbsp;</td>
      </tr>
      <tr>
        <td><input name="stcbox" type="checkbox" id="stcbox" value="stcserviceuser" onClick="serviceuser.disabled=!this.checked;EnableButton(this);"></td>
        <td>&nbsp;客 服:</td>
        <td><select name="serviceuser" class="selectshort" disabled>
        </select></td>
        <td>&nbsp;</td>
      </tr>
      <tr>
        <td><input name="stcbox" type="checkbox" id="stcbox" value="stcarea" onClick="province.disabled=!this.checked;areacode.disabled=!this.checked;EnableButton(this);"></td>
        <td><div align="left">&nbsp;地 区:</div></td>
        <td><select name="province" class="selectshort" disabled>
        </select>
          <select name="areacode" class="selectshort" disabled>
          </select></td>
        <td>&nbsp;</td>
      </tr>
      <tr>
        <td><input name="stcbox" type="checkbox" id="stcbox" value="stcdate" onClick="datestart.disabled=!this.checked;dateend.disabled=!this.checked;EnableButton(this);"></td>
        <td><div align="left">&nbsp;日 期:</div></td>
        <td><input name='datestart' type='text' class='input_text' size='12' title='请选择开始日期' onClick='fPopCalendar(datestart,datestart);return false' readonly> ---&nbsp;<input name='dateend' type='text' class='input_text' size='12' title='请选择结束日期' onClick='fPopCalendar(dateend,dateend);return false' readonly> </td>
        <td>&nbsp;</td>
      </tr>
      <tr>
        <td><input name="stcbox" type="checkbox" id="stcbox" value="stcsearchtype" onClick="EnableRadio(this);EnableButton(this);"></td>
        <td><div align="left">&nbsp;类 型:</div></td>
        <td><input type='radio' name='searchtype' value='1' checked> 注册<input type='radio' name='searchtype' value='0'> 退订&nbsp;</td>
        <td>&nbsp;</td>
      </tr>
    </table>
    <p align="center">
      <input type="submit" name="stc_submit" value="确  定">
    &nbsp;&nbsp;&nbsp;</p>
    </form>
    <script language="javascript">
    var form = document.stc;
    {
    for (var i=0;i<form.elements.length;i++)
    {
    {
    if (form.elements[i].type!="checkbox")
    {
    form.elements[i].disabled=true;
    }
    }
    }
    }

    function EnableRadio(ObjThis)
    {
    for (var i=0;i<form.elements.length;i++)
    {
    {
    if (form.elements[i].type=="radio")
    {
    if(ObjThis.checked)
    {
    form.elements[i].disabled=false;
    }
    else
    {
    form.elements[i].disabled=true;
    }
    }
    }
    }
    }
    function EnableButton(ObjThis)
    {
    var ArrayCheckbox = document.getElementsByName("checkbox");
    var NumCheckbox = 0;

    for (var i=0;i<ArrayCheckbox.length;i++)
    {
    if (ArrayCheckbox[i].checked)
    {
    NumCheckbox++;
    }
    }

    if (NumCheckbox<1)
    {
    form.stc_submit.disabled=!ObjThis.checked;
    }
    else
    {
    return true;
    }
    /**/
    }
    </script>
    </body>
    </html>
      

  7.   

    function f(cb){
      var pp=cb.parentNode;
      while(pp.tagName!='TR'){pp=pp.parentNode;}
      var ins=pp.getElementsByTagName("INPUT");
      for(var i=0;i<ins.length;i++){ if(ins.item(i).type=='text'){ ins.item(i).disabled=!cb.checked;}  }
     }
    我的函数中这一句if(ins.item(i).type=='text')是判断表单域的类型,你要想加入对别的表单框的判断是很简单的
      

  8.   

    呵呵,我的问题刚已经解决:
    第二个版本出来了[当然还有些人性化的问题:比如说radio组,如果多一个radio组的话就又要改,这个问题只要跟大花猫的结合就会完美地解决了]请将源码另存为*.htm
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    <title>checkbox的PP问题</title>
    </head><body>
    <!------------------------------------------------------------------------>
    <form name="stc" method="post" action="statistic_users.asp" target="main" onSubmit="SubmitStcForm();return false;">
    <table align="center" width="60%"  border="1"  cellpadding='4' cellspacing='0' borderColorLight='#C9DDFC' borderColorDark='#FFFFFF'>
      <tr>
        <td width="6%"><input name="stcbox" type="checkbox" id="stcbox" value="com" onClick="com.disabled=!this.checked;EnableButton();"></td>
        <td width="16%"><div align="left">&nbsp;运营商:</div></td>
        <td width="45%"><select name='com' class='selectshort'><option value=''></option><option value='CM'>中国移动</option><option value='CU'>中国联通</option><option value='CT'>中国电信</option></select></td>
        <td width="33%">&nbsp;</td>
      </tr>
      <tr >
        <td><input name="stcbox" type="checkbox" id="stcbox" value="stcchannel" onClick="channelnum.disabled=!this.checked;EnableButton();"></td>
        <td><div align="left">&nbsp;渠 道:</div></td>
        <td><select name='channelnum' class='selectshort'><option value=''></option><option value='000'>000</option><option value='880'>880</option><option value='881'>881</option><option value='885'>885</option><option value='888'>888</option></select>&nbsp;</td>
        <td>&nbsp;</td>
      </tr>
      <tr>
        <td><input name="stcbox" type="checkbox" id="stcbox" value="stcservicecode" onClick="servicetype.disabled=!this.checked;EnableButton();"></td>
        <td><div align="left">&nbsp;业 务:</div></td>
        <td><select name='servicetype' class='selectshort'><option value=''></option><option value='JKQM'>考勤包月</option><option value='JKPM'>点评包月</option><option value='XH'>笑话</option><option value='TQ'>天气</option></select></td>
        <td>&nbsp;</td>
      </tr>
      <tr>
        <td><input name="stcbox" type="checkbox" id="stcbox" value="stcserviceuser" onClick="serviceuser.disabled=!this.checked;EnableButton();"></td>
        <td>&nbsp;客 服:</td>
        <td><select name="serviceuser" class="selectshort" disabled>
        </select></td>
        <td>&nbsp;</td>
      </tr>
      <tr>
        <td><input name="stcbox" type="checkbox" id="stcbox" value="stcarea" onClick="province.disabled=!this.checked;areacode.disabled=!this.checked;EnableButton();"></td>
        <td><div align="left">&nbsp;地 区:</div></td>
        <td><select name="province" class="selectshort" disabled>
        </select>
          <select name="areacode" class="selectshort" disabled>
          </select></td>
        <td>&nbsp;</td>
      </tr>
      <tr>
        <td><input name="stcbox" type="checkbox" id="stcbox" value="stcdate" onClick="datestart.disabled=!this.checked;dateend.disabled=!this.checked;EnableButton();"></td>
        <td><div align="left">&nbsp;日 期:</div></td>
        <td><input name='datestart' type='text' class='input_text' size='12' title='请选择开始日期' > ---&nbsp;<input name='dateend' type='text' class='input_text' size='12' title='请选择结束日期' > </td>
        <td>&nbsp;</td>
      </tr>
      <tr>
        <td><input name="stcbox" type="checkbox" id="stcbox" value="stcsearchtype" onClick="EnableRadio(this);EnableButton();"></td>
        <td><div align="left">&nbsp;类 型:</div></td>
        <td><input type='radio' name='searchtype' value='1' checked> 注册<input type='radio' name='searchtype' value='0'> 退订&nbsp;</td>
        <td>&nbsp;</td>
      </tr>
    </table>
    <p align="center">
      <input type="submit" name="stc_submit" value="确  定">
    &nbsp;&nbsp;&nbsp;</p>
    </form>
    <script language="javascript">
    var form = document.stc;
    {
    for (var i=0;i<form.elements.length;i++)
    {
    {
    if (form.elements[i].type!="checkbox")
    {
    form.elements[i].disabled=true;
    }
    }
    }
    }

    function EnableRadio(ObjThis)
    {
    for (var i=0;i<form.elements.length;i++)
    {
    {
    if (form.elements[i].type=="radio")
    {
    if(ObjThis.checked)
    {
    form.elements[i].disabled=false;
    }
    else
    {
    form.elements[i].disabled=true;
    }
    }
    }
    }
    }
    function EnableButton()
    {
    var ArrayCheckbox = document.getElementsByName("stcbox");
    var NumCheckbox = 0;
    for (var i=0;i<ArrayCheckbox.length;i++)
    {
    if (ArrayCheckbox[i].checked)
    {
    NumCheckbox++;
    form.stc_submit.disabled=false;
    }
    else
    {
    if (NumCheckbox<1)
    {
    form.stc_submit.disabled=true;
    }
    else
    {
    form.stc_submit.disabled=false;
    }
    }
    }
    }
    </script>
    </body>
    </html>
      

  9.   

    大花猫 的原理是对tr进行disabled的,可是tr中如果有select的话就没办法disabled。