function checkFiles() 

if(document.form1.checkFile.checked == true) 
            {  
                 document.getElementById("Pub").disabled = true; 
            }  
            else if(document.form1.checkFile.checked == false) 
            { 
                document.getElementById("Pub").disabled = false; 
            } 
}我在html页面中执行一个脚本,功能要求是,一个checkbox框,如果选中则一个用户控件ID为Pub在页面上显示,否则就不显示! 
上面我写的这个提示document.getElementById('')为空或不是对象,这是怎么回事?是不是用户控件不行?还有就是隐藏控件是不是disabled ?

解决方案 »

  1.   

    隐藏document.getElementById("Pub").style.display="none";
    显示document.getElementById("Pub").style.display="";改成这样试试
      

  2.   

    你点击查看源代码,看看这个控件有没有展示出来,看下页面上有没有id为pubs的元素。disabled的意思是让控件不可用,而不是隐藏。隐藏是style.display = "none";
    显示 style.display = "";
      

  3.   

    问题是:Alert(document.getElementById("Pub"));输出值为null
    是不是document.getElementById("Pub")这个有问题啊,pub是用户控件ID
      

  4.   

    所以让你右键,查看下源代码。看看Pubs有没有在页面上先。
      

  5.   

    Alert(document.getElementById("Pub"));输出值为null 
    -----------
    这是找不到控件--
    可以用document其他的属性(如document.getElementsByName)
      

  6.   

    document.getElementsByName也不行,提示undefined
      

  7.   

    找不到id可能是套了服务器控件导致clientid变化,看看html源代码该id是不是pub
    显隐用style.display或者visible
      

  8.   

    没有找到控件,因为需要定位控件的最体位置,用form.document.getElementsByName('')这种写法试一下.