function menuTog(bid,save){
var menuid="dt"+bid;
var subid="m"+bid;
var menu = document.getElementById(menuid);
var submenu = document.getElementById(subid);
menu.className=(menu.className=="active")?"":"active";
submenu.style.display=(submenu.style.display=="none")?"":"none";}
if (typeof(save)=='undefined'){save=true;}
if(save!=false)
{
setupcookie(bid); //提示此行出错:bid not defined
}
function setupcookie(menuid)
{
...
}
js菜单,并保存打开与否的状态。调用示例:onclick=menuTog('1')提示"bid not defined",可是bid就是参数带入的啊

解决方案 »

  1.   

      setupcookie("bid");       
      

  2.   

    alert(bid)一下就知道你传过来的参数对不对了。。
      

  3.   


    function menuTog(bid,save){
        var menuid="dt"+bid;
        var subid="m"+bid;
        var menu    = document.getElementById(menuid);
        var submenu = document.getElementById(subid);
        menu.className=(menu.className=="active")?"":"active";
        submenu.style.display=(submenu.style.display=="none")?"":"none";}//多了个}了!!!
        if (typeof(save)=='undefined'){save=true;}
        if(save!=false)
        {
            setupcookie(bid);            //提示此行出错:bid not defined
        }
    function setupcookie(menuid)
    {
    ...
    }PS:如果函数写对了,无论pid是否传递进去,那行都不会提示出错
      

  4.   


    function menuTog(bid,save){}onclick=menuTog('1')//问题应该在这:你定义的函数有两个参数,而你调用只给了一个参数
      

  5.   

    顶4楼,语法错误+1
    调用时只给赋一个参数,第二个参数会赋为undefined
    所以楼主的函数里会处理:if (typeof(save)=='undefined'){save=true;}