已做一个下拉菜单. 想设置一点权限 ,即非管理员时,点击后提示只有管理员才能访问.下面是已做下拉菜单的代码
function document_load(){
mwritetodocument();
}mpmenu1=new mMenu('| 成绩管理','','self','','','','');
mpmenu1.addItem(new mMenuItem('成绩查询','t__infor.aspx','self',false,'查询成绩','','','',''));
mpmenu2=new mMenu('| 通知管理','','self','','','','');
mpmenu2.addItem(new mMenuItem('发布通知','t_notice_input.aspx','self',false,'发布通知','','','',''));
mpmenu2.addItem(new mMenuItem('通知列表','t_notice_list.aspx','self',false,'显示发布的所有通知','','','',''));
mpmenu3=new mMenu('| 班级管理','','self','','','','');
mpmenu3.addItem(new mMenuItem('班级管理','t_class_infor.aspx','self',false,'查询班级情况','','','',''));
mpmenu4=new mMenu('| 作业管理','','self','','','','');
mpmenu4.addItem(new mMenuItem('作业查询','t_exercise_upload.aspx','self',false,'查询作业提交情况','','','',''));
mpmenu4.addItem(new mMenuItem('布置作业','t_exercise_inforinput.aspx','self',false,'布置作业内容','','','',''));
mpmenu4.addItem(new mMenuItem('作业要求','t_exercise_inforlist.aspx','self',false,'查询作业要求信息','','','',''));
mpmenu5=new mMenu('| 实验管理','','self','','','','');
mpmenu5.addItem(new mMenuItem('信息输入','t_lab_infor_input.aspx','self',false,'输入实验信息','','','',''));
mpmenu5.addItem(new mMenuItem('信息查询','t_lab_infor.aspx','self',false,'查询实验信息','','','',''));
mpmenu6=new mMenu('| 资料管理','','self','','','','');
mpmenu6.addItem(new mMenuItem('添加教师','t_add_teacher.aspx','self',false,'添加新的教师','','','',''));
mpmenu6.addItem(new mMenuItem('修改密码','t_login_infor.aspx','self',false,'修改自己的登录密码','','','',''));
mpmenu6.addItem(new mMenuItem('教师列表','t_teacher_list.aspx','self',false,'列出所有教师的登录账户','','','',''));

解决方案 »

  1.   

    还有代码 一次写不下 多次写
    var mmenus    = new Array();
    var misShow   = new Boolean(); 
    misShow=false;
    var misdown   = new Boolean();
    misdown=false;
    var msrcel; 
    var mfromel;  
    var mtoel; 
    var musestatus=false;
    var mthestatus="";
    var mpopTimer = 0;
    mmenucolor='#cecfff';mfontcolor='#003399';mmenuoutcolor='#cecfff';mmenuincolor='#cecfff';mmenuoutbordercolor='#cecfff';mmenuinbordercolor='#cecfff';mmidoutcolor='#cecfff';mmidincolor='#cecfff';mmenuovercolor='#ffffff';mitemedge='0';msubedge='0';mmenuunitwidth=80;mmenuitemwidth=90;mmenuheight=14;mmenuwidth='480';mmenuadjust=0;mmenuadjustV=0;mfonts='font-family: 宋体; font-size: 13px; color: #003399; ';mcursor='default';function stoperror(){
    return true;
    }
    window.onerror=stoperror;
    function mpopOut() {
    mpopTimer = setTimeout('mallhide()', 500);
    }
    function getReal(el, type, value) {
    temp = el;
    while ((temp != null) && (temp.tagName != "BODY")) {
    if (eval("temp." + type) == value) {
    el = temp;
    return el;
    }
    temp = temp.parentElement;
    }
    return el;
    }
    function mMenuRegister(menu) 
    {
      mmenus[mmenus.length] = menu
      return (mmenus.length - 1)
    }
    function mMenuItem(caption,command,target,isline,statustxt,img,sizex,sizey,pos){
    this.caption=caption;
    this.command=command;
    this.target=target;
    this.isline=isline;
    this.statustxt=statustxt;
    this.img=img;
    this.sizex=sizex;
    this.sizey=sizey;
    this.pos=pos;
    }
    function mMenu(caption,command,target,img,sizex,sizey,pos){
    this.items = new Array();
    this.caption=caption;
    this.command=command;
    this.target=target;
    this.img=img;
    this.sizex=sizex;
    this.sizey=sizey;
    this.pos=pos;
    this.id=mMenuRegister(this);
    }
    function mMenuAddItem(item)
    {
      this.items[this.items.length] = item
      item.parent = this.id;
      this.children=true;
    }mMenu.prototype.addItem = mMenuAddItem;
    function mtoout(src){src.style.borderLeftColor=mmenuoutbordercolor;
    src.style.borderRightColor=mmenuinbordercolor;
    src.style.borderTopColor=mmenuoutbordercolor;
    src.style.borderBottomColor=mmenuinbordercolor;
    src.style.backgroundColor=mmenuoutcolor;
    src.style.color=mmenuovercolor;
    }
    function mtoin(src){src.style.borderLeftColor=mmenuinbordercolor;
    src.style.borderRightColor=mmenuoutbordercolor;
    src.style.borderTopColor=mmenuinbordercolor;
    src.style.borderBottomColor=mmenuoutbordercolor;
    src.style.backgroundColor=mmenuincolor;
    src.style.color=mmenuovercolor;
    }
    function mnochange(src){
    src.style.borderLeftColor=mmenucolor;
    src.style.borderRightColor=mmenucolor;
    src.style.borderTopColor=mmenucolor;
    src.style.borderBottomColor=mmenucolor;
    src.style.backgroundColor='';
    src.style.color=mfontcolor;}
    function mallhide(){
    for(var nummenu=0;nummenu<mmenus.length;nummenu++){
    var themenu=document.all['mMenu'+nummenu]
    var themenudiv=document.all['mmenudiv'+nummenu]
                    mnochange(themenu);
                    mmenuhide(themenudiv);
                    }
    }
    function mmenuhide(menuid){
    menuid.style.filter='Alpha(Opacity=100)';
    menuid.style.visibility='hidden';
    misShow=false;
    }
    function mmenushow(menuid,pid){
    menuid.style.filter='Alpha(Opacity=80)';
    menuid.style.left=mposflag.offsetLeft+pid.offsetLeft+mmenuadjust;menuid.style.top=mposflag.offsetTop+mmenutable.offsetHeight+mmenuadjustV+1;
    if(mmenuitemwidth+parseInt(menuid.style.left)>document.body.clientWidth)
    menuid.style.left=document.body.clientWidth-mmenuitemwidth;
    menuid.style.visibility='visible';
    misShow=true;
    }
    function mmenu_over(menuid,x){
    mtoel = getReal(window.event.toElement, "className", "coolButton");
    mfromel = getReal(window.event.fromElement, "className", "coolButton");
    if (mtoel == mfromel) return;
    msrcel = window.event.srcElement;
    if(x<0){
      misShow = false;
      mallhide();
      mtoout(msrcel);
    }else{  mallhide();
      mtoin(msrcel);
      mmenushow(menuid,eval("mMenu"+x));}
    clearTimeout(mpopTimer);
    }
    function mmenu_out(menuid){
    mtoel = getReal(window.event.toElement, "className", "coolButton");
    mfromel = getReal(window.event.fromElement, "className", "coolButton");
    if (mtoel == mfromel) return;
    msrcel = window.event.srcElement;
    if (misShow){
    mtoin(msrcel);
    }else{
    mnochange(msrcel);
    }
    mpopOut()
    }
      

  2.   

    function mmenuitem_down(menuid){
    msrcel = getReal(window.event.srcElement, "className", "coolButton");
    mtoin(msrcel)
    misdown=true;
    }
    function mmenuitem_up(menuid){
    msrcel = getReal(window.event.srcElement, "className", "coolButton");
    mtoout(msrcel)
    misdown=false;
    }
    function mexec2(x){
    var cmd;
    if(mmenus[x].target=="blank"){
      cmd = "window.open('"+mmenus[x].command+"')";
    }else{
      cmd = mmenus[x].target+".location='"+mmenus[x].command+"'";
    }
    eval(cmd);
    }
    function mexec(x,i){
    var cmd;
    if(mmenus[x].items[i].target=="blank"){
      cmd = "window.open('"+mmenus[x].items[i].command+"')";
    }else{
      cmd = mmenus[x].items[i].target+".location='"+mmenus[x].items[i].command+"'";
    }
    eval(cmd);
    }
    function mbody_click(){if (misShow){
    msrcel = getReal(window.event.srcElement, "className", "coolButton");
    for(var x=0;x<=mmenus.length;x++){
    if(msrcel.id=="mMenu"+x)
    return;
    }
    mallhide();
    }
    }
    document.onclick=mbody_click;
    var mMenuBodyRef;
    function mwritetodocument(){
          var mwb=1;
          for(var i in document.all){
                  if (document.all[i].tagName == 'BODY'){
                         mMenuBodyRef = document.all[i]
                         var stringx='<div id="mposflag" style="position:absolute;"></div><table  id=mmenutable border=0 cellpadding=0 cellspacing=2 width='+mmenuwidth+' height='+mmenuheight+' bgcolor='+mmenucolor+
                         ' onselectstart="event.returnValue=false"'+
                         ' style="filter:Alpha(Opacity=80);cursor:'+mcursor+';'+mfonts+
                         ' border-left: '+mwb+'px solid '+mmenuoutbordercolor+';'+
                         ' border-right: '+mwb+'px solid '+mmenuinbordercolor+'; '+
                         'border-top: '+mwb+'px solid '+mmenuoutbordercolor+'; '+
                         'border-bottom: '+mwb+'px solid '+mmenuinbordercolor+'; padding:0px"><tr>'
                         for(var x=0;x<mmenus.length;x++){
                          var thismenu=mmenus[x];
                          var imgsize;
                                if(thismenu.sizex=="0"&&thismenu.sizey=="0"){
                                  imgsize="";
                                }else{
                                  imgsize=" width="+thismenu.sizex+" height="+thismenu.sizey;
                                }
                          var ifspace;
                                if(thismenu.caption==""){
                                  ifspace="";
                                }else{
                                  ifspace=" ";
                                }
                          stringx += "<td class=coolButton id=mMenu"+x+" style='border: "+mitemedge+"px solid "+mmenucolor+
                          "' width="+mmenuunitwidth+"px onmouseover=mmenu_over(mmenudiv"+x+
                          ","+x+") onmouseout=mmenu_out(mmenudiv"+x+
                          ") onmousedown=mmenu_down(mmenudiv"+x+","+x+")";
                                if(thismenu.command!=""){
                                    stringx += " onmouseup=mexec2("+x+");mmenu_up();";
                                }else{
                                   stringx += " onmouseup=mmenu_up()";
                                }
                                if(thismenu.pos=="0"){
                                    stringx += " align=center><img align=absmiddle src="+thismenu.img+imgsize+">"+ifspace+thismenu.caption+"</td>";
                                }else if(thismenu.pos=="1"){
                                    stringx += " align=center>"+thismenu.caption+ifspace+"<img align=absmiddle src="+thismenu.img+imgsize+"></td>";
                                }else if(thismenu.pos=="2"){
                                    stringx += " align=center background="+thismenu.img+">"+thismenu.caption+"</td>";
                                }else{
                                    stringx += " align=center>"+thismenu.caption+"</td>";
                                }
                          stringx += "";
                         }
                         stringx+="<td width=*> </td></tr></table>";
                         
                         
                         for(var x=0;x<mmenus.length;x++){
                          thismenu=mmenus[x];
                            if(x<0){
                            stringx+='<div id=mmenudiv'+x+' style="visiable:none"></div>';
                            }else{
                            stringx+='<div id=mmenudiv'+x+
                            ' style="filter:Alpha(Opacity=80);cursor:'+mcursor+';position:absolute;'+
                            'width:'+mmenuitemwidth+'px; z-index:'+(x+100);
                            if(mmenuinbordercolor!=mmenuoutbordercolor&&msubedge=="0"){
                            stringx+=';border-left: 1px solid '+mmidoutcolor+
                            ';border-top: 1px solid '+mmidoutcolor;}
                            stringx+=';border-right: 1px solid '+mmenuinbordercolor+
                            ';border-bottom: 1px solid '+mmenuinbordercolor+';visibility:hidden" onselectstart="event.returnValue=false">\n'+
                          '<table  width="100%" border="0" height="100%" align="center" cellpadding="0" cellspacing="2" '+
                          'style="'+mfonts+' border-left: 1px solid '+mmenuoutbordercolor;
                            if(mmenuinbordercolor!=mmenuoutbordercolor&&msubedge=="0"){
                          stringx+=';border-right: 1px solid '+mmidincolor+
                          ';border-bottom: 1px solid '+mmidincolor;}
                          stringx+=';border-top: 1px solid '+mmenuoutbordercolor+
                          ';padding: 4px" bgcolor='+mmenucolor+'>\n'
                          for(var i=0;i<thismenu.items.length;i++){
                          var thismenuitem=thismenu.items[i];
                          var imgsize;
                                    if(thismenuitem.sizex=="0"&&thismenuitem.sizey=="0"){
                                       imgsize=""
                                    }else{
                                       imgsize=" width="+thismenuitem.sizex+" height="+thismenuitem.sizey
                                    }
                                  var ifspace;
                                    if(thismenu.caption==""){
                                      ifspace="";
                                    }else{
                                      ifspace=" ";
                                    }
                          if(!thismenuitem.isline){
                          stringx += "<tr><td class=coolButton style='border: "+mitemedge+"px solid "+mmenucolor+
                          "' width=100% height=15px onmouseover=\"mthestatus='"+thismenuitem.statustxt+"';mmenuitem_over(mmenudiv"+x+
                          ");\" onmouseout=mmenuitem_out(mmenudiv"+x+
                          ") onmousedown=mmenuitem_down(mmenudiv"+x+") onmouseup=";
      stringx += "mexec("+x+","+i+");mmenuitem_up(mmenudiv"+x+") ";
      if(thismenuitem.pos=="0"){
                                      stringx += "><img align=absmiddle src="+thismenuitem.img+imgsize+">"+ifspace+thismenuitem.caption+"</td></tr>";
                                    }else if(thismenuitem.pos=="1"){
                                      stringx += ">"+thismenuitem.caption+ifspace+"<img align=absmiddle src="+thismenuitem.img+imgsize+"></td></tr>";
                                    }else if(thismenuitem.pos=="2"){
                                      stringx += "background="+thismenuitem.img+">"+thismenuitem.caption+"</td></tr>";
                                    }else{
                                      stringx += ">"+thismenuitem.caption+"</td></tr>";
                                    }
      }else{
                          stringx+='<tr><td height="1" background="hr.gif"><img border="0" src="none.gif" width="1" height="1"></td></tr>\n';
                          }
                          }stringx+='</table>\n</div>'
                          }
                         
                    }
                    
                         document.write("<div align='left'>"+stringx+"</div>");
          break
        }
      }
    }
      

  3.   

    登陆时将用户的权限列表放到session中,到点击连接的时候,从session中取出权限列表,
    跟你这个页面的权限比较,如果相等表示此人用户有权限,反则没有,就进不去此页面.你的代码很多,不想看.基本上权限都是这么做的.
    两种:1.页面级验证(可以用自定义标签实现).2.BO级验证(在action和servlet中验证).
     LZ可以参考下