首先检查checkbox的checked是否为true,然后用个循环历遍整个表单,判断表单域是否为那checked,如果否则设置其disabled = true

解决方案 »

  1.   

    <input type=checkbox onclick="ys.disabled=!ys.disabled;eyun.readOnly=!eyun.readOnly"><input id=ys value=disable><input id=eyun value=readonly>
      

  2.   

    <script language="JavaScript">
    <!--
    function doDisabled()
    {
    chkbox = document.getElementById("chkBox");
    if(chkbox.checked)
    {
    document.all.text1.disabled = true;
    document.all.textarea1.disabled = true;
    document.all.radio1.disabled = true;
    }
    else
    {
    document.all.text1.disabled = false;
    document.all.textarea1.disabled = false;
    document.all.radio1.disabled = false;
    }
    }
    //-->
    </script>
    <body onload="doDisabled()">
    <form method=post action="" name="form1">
    <input type="text" id="text1"><br>
    <textarea id="textarea1"></textarea><br>
    <input type="radio" name="radio1" id="radio1"><br>
    <input type="checkbox" name="chkBox" id="chkBox" checked onclick="doDisabled()">
    </form>
    </body>
      

  3.   

    <form name="form1">
    <input name="chk" type="checkbox" onclick="setTxt(this)">
    <input type="text">
    <input type="text">
    <textarea size=6></textarea>
    </form>
    <script language="JScript">
    function setTxt(oChk){

      var length = form1.elements.length;
      while ( length-- )
      {
        if ( form1.elements(length).type.toUpperCase() != "CHECKBOX" )
    {
    if ( oChk.checked )
      form1.elements(length).disabled = true;
    else
       form1.elements(length).disabled = false;
    }
      }
    }
    </script>