alert(1);
    var flagPage = null;
    flagPage=document.getElementById("commerceForm.flagPage").value;
    alert(flagPage);
    if(flagPage=="customerList"){
     document.getElementById("ifmdiv").style.display = 'block';
    }else if(flagPage=="commerceList"){
     document.getElementById("ifmdivcom").style.display = 'block';
    }
问题出在第3行。
commerceForm.flagPage是从另一个页面上得到值
在这个页面里放了commerceForm.flagPage的隐藏控件
alert(flagPage);语句没反应。
报第三行缺少对象的错误。
大家帮我想想。

解决方案 »

  1.   

    注意 你这句话flagPage=document.getElementById("commerceForm.flagPage").value;放的位置如果这个隐藏控件都还没创建 你这里执行肯定缺少对象。
      

  2.   

    把js代码放到你所说的的隐藏控件的下面!
    或者把这个代码放到<body onload="...">中就可以了!
      

  3.   

    楼主是用id来获得对象的吗?好像只有name属性才会这样命名。
      

  4.   

    我上面说了啊有那个隐藏控件了啊
    我这段代码放在了
    <head><script type="text/javascript"></script></head>
    有问题吗?
    我之所以没放在body onload=里,是因为我的页面的body标签是这样的:<xxx:xxxbody></xxx:xxxbody>这里面不支持onload。
      

  5.   

    至于id用commerceForm.flagPage,也可以的,但为了规约,我已经加了正常的id名了。
      

  6.   

    增加一个判断吧    alert(1);
        if(document.getElementById("commerceForm.flagPage")!=null)
        {
         var flagPage = document.getElementById("commerceForm.flagPage").value;    
         alert(flagPage);
         if(flagPage=="customerList"){
            document.getElementById("ifmdiv").style.display = 'block';
         }else if(flagPage=="commerceList"){
            document.getElementById("ifmdivcom").style.display = 'block';
         }
        }else return false;
      

  7.   

    try{
     //javascript 异常处理
      //你的代码
    }catch(exception e){}
      

  8.   

    document.getElementById(commerceForm["flagPage"]).value; 这样写 可以吧
      

  9.   

    用隐藏控件的ID访问,传过来的值放在VALUE里面,这样有问题吗?
      

  10.   

    document.getElementById("commerceForm.flagPage").value;
    JS和JSP中属性名字ID等 不要出现点 
    有可能被解析为commerceForm对象的flagPage属性