没有权限情况很多。如JS跨域,
也可能是用了JS不支持的方法,
把var f=document.forms['UserDepartsForm'];
改为:var f=document.UserDepartsForm;试试

解决方案 »

  1.   

    经过测试addUserDeparts()里面得alert都会执行,当调用addListOption()方法时,只会显示alert("进入addListOption()方法");后面得内容就不执行了
    昨天也是在这个时候我以为是判断写得有问题,于是我就修改判断条件,但是效果还是一样,不知道为什么function addUserDeparts(){
    departList.newOptions=new Array();
    alert("进入addUserDeparts(),准备开始弹出对话框");
    openModalDialog('<%=request.getContextPath()%>/departDialog.do?method=multiSelect',departList,400,300);
    for(var i=0;i<departList.newOptions.length;i++)
    alert("进入循环");
    addListOption(departList,departList.newOptions[i]);
    resetDepartList();
    }

    function addListOption(list,opt){
    alert("进入addListOption()方法");
    if(list && list.options && opt && opt.text){
    alert("进入addListOption方法第一个if");
    for(var i=0;i<list.options.length;i++){
    alert("进入addListOption方法第一个for");
    if(list.options[i].text==opt.text && list.options[i].value==opt.value)
    alert("进入addListOption方法第二个if");
    return;
    }
    list.options[list.options.length++]=new Option(opt.text,opt.value,false,false);
    }
    }
      

  2.   

    没有权限情况很多。如JS跨域, 
    也可能是用了JS不支持的方法, 
    把var f=document.forms['UserDepartsForm']; 
    改为:var f=document.UserDepartsForm;试试
    首先谢谢你,
    改了效果还是一样。
      

  3.   

    我还有2个不明白得地方
    父窗体中
    openModalDialog('<%=request.getContextPath()%>/departDialog.do?method=multiSelect',departList,400,300);
    这个方法里面departList参数是什么意思
    子窗体中
    window.dialogArguments.newOptions[window.dialogArguments.newOptions.length++]=new Option(nv[1],nv[0],false,false);    
    这个方法又是什么意思是不是可以这样理解,子窗体中的这个方法把值赋给父窗体方法中的departList参数.从而父窗体就能得到子窗体所选择的值?
    一直在线 等待高手请教! 不胜感激!!!!
      

  4.   

    父窗体中
    openModalDialog(' <%=request.getContextPath()%>/departDialog.do?method=multiSelect',departList,400,300);
    这个方法里面departList参数是把父窗体的departList对象作为参数传到子窗体。
    子窗体中
    window.dialogArguments.newOptions[window.dialogArguments.newOptions.length++]=new Option(nv[1],nv[0],false,false);   
    是给父窗体的那个select对象增加一个option