改成这样就ok了:
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>Untitled Page</title>
    
</head>
<body>
    <form id="form1" runat="server">
    <input type="checkbox" id="ckb" onclick="Check()"  NAME="ckb"/>
    <input type="button" id="btn"  NAME="btn"/>
    </form>
</body>
</html>
<script language="javascript">
    function Check()
    {
        if(document.getElementById("ckb").checked==true)
        {
        document.getElementById("btn").disabled=false;
        }
        else document.getElementById("btn").disabled=true;
    }
    Check();    window.onload=function()
    {
Check();
    }
    </script>

解决方案 »

  1.   

    onload事件,这样每次不管是历史页面也好,载入页面都会执行!
      

  2.   

    to CutBug(外面的世界很无奈) 我试了一下,能行的通啊,谢谢我先研究一下
      

  3.   

    我貌似,好像,可能也许弄明白了:
    客户端加载页面的时候先运行代码,再加载控件,当执行到最后一段javascript的时候,执行
    if(document.getElementById("ckb").checked==true)
        {
            document.getElementById("btn").disabled=false;
        }
        else document.getElementById("btn").disabled= true;
    这个时候ckb,btn都还没有出来,即使我把这段代码放在了最后面,因为是先检测执行所有代码,所以永远执行else那部分,最开始以为正确,那是恰好最开始理应执行else,但不是因为判断了("ckb").checked==true这句到else,而是找不到ckb到else。
    而window.onload事件是在加载了页面控件之后发生的,即发生window.onload事件时有了ckb,btn,于是就可以正常判断还是强类型语言好啊...真痛苦。才开始接触javascript