有一个页面a.jsp   使用window.open()方法打开了一个b.jsp  在b.jsp中我想要为a.jsp页面中的一个select添加一个option----
    我的代码是:if(window.opener){
alert(window.opener.document.getElementById("DictSex").options.length);
window.opener.document.getElementById("DictSex").options.length=0; 
var oOption = document.createElement("OPTION");   
oOption.value=oid;   
oOption.text=oname;
                window.opener.document.getElementById("DictSex").options.add(oOption);
window.close();
}问题是在fireFox中这个代码可用,在IE中不可用!
请教!!!!

解决方案 »

  1.   

    你的"DictSex "和"OPTION "里面怎么都有空格
      

  2.   

    这样试试
    window.opener.document.getElementById( "DictSex ").options.add(new Option(oid,oname)); 
      

  3.   


    /**
     * @author develop_design_level
     * @date 2009-11-03
     * 
     */
    if (window.opener) {
       var selectObj = window.opener.document.getElementById('DictSex ');
        selectObj.options.length = null;
    var option = new Option(oname,oid);
    if(window.event){//判断IE
    selectObj.add(option);
    }else{//FF
    selectObj.add(option,null);
    }
        window.close();
    }
    === 结贴,给分 ===
    得到满意的答案,立即结贴给分,是一种良好的习惯和美德
      

  4.   

    但是不行,注意:产生的结果是:在fireFox中这个代码可用,在IE中不可用! 
      

  5.   

    我的代码,楼主试试看。我这里是没问题的。不过你的window.opener 对象,我没写。下面的在FF和IE都可以,是我当初写jQuery插件时用到的。
    === 结贴,给分 ===
    得到满意的答案,立即结贴给分,是一种良好的习惯和美德
      

  6.   

    我就是用你的代码替换了一下,但是还是老问题~IE执行  selectObj.add(option);时候停止了! 我很怀疑就是window.opener的问题!