父窗口-->子窗口:
1.showModelessDialog
2.open
用url後面加問號傳url?data1="Test";
參數都可以傳導子窗口.用querystring或者form取出  
  子窗口-->父窗口
1.showModelessDialog.
  a)dialogArguments(不用關閉也可以)
  b)returnValue(關閉後)
2.open
  opener.document.all.ID.value

解决方案 »

  1.   

    <script>
    window.open("a2.htm")
    </script>
    <div id="m">test</div>a2.htm
    ==============
    <input onclick="this.value=opener.document.all.m.innerText">
      

  2.   

    诸位大虾能说说JAVASCRIPT报拒绝服务的原因吗
    因为测试的时候没报错,拿到用户那就报这个错?和用户所在的域有关吗?
      

  3.   

    用url+value的方式不行的,因为get方式有长度限制。我的值可能是无限大,所以必须从父窗口的form传过去百合心,你解决过,来讲讲啊
      

  4.   

    我有。如果以文件方式打开html文件(其地址栏地址为如:D:\Xxx\Test.htm),就会出错,如果你用url方式打开(其地址为如:http://localhost/xxx/test.htm),就不会出错,至少我的脚本没有出错。
      

  5.   

    sorry现在翻帖才看到你的问题,不知你是否已经解决了?!
    可能是权限,要贴上具体的代码来
    如果很急可以留个qq
      

  6.   

    原来在windows下使用没问题
    原来在linux下使用也没问题
    但自从我加了带有IFRAME的在线编辑器来替换原来的textarea框以后,在window下调试没问题,但在LINUX上部署后,使用出现了问题,凡是含有弹出窗口的并且子窗口运行到
    window.opener.document去调父窗口的对象时,报拒绝访问的错误,我也查了资料,说拒绝访问是跨域访问造成的,但是linux没有域的概念,所以如何造成这个错误的根本原因还不知道。
    子窗口中一小段代码(删了一些,代码有错):
    function findObj(EName)
    {
        var formname = '<%=ctlform%>';
        var fobj = window.opener.document.getElementById(formname);//这句
        for (ii=0;ii<fobj.elements.length;ii++) 
       {
           if (fobj.elements[ii].name == EName) 
     return fobj.elements[ii];
       }
       return obj;
    }
      

  7.   

    在linux上出问题啊?!
    sorry我对linux不熟
      

  8.   

    哪些方法,harryyang(crane)已经讲了
    如果是用window.open打开的子窗口,和父窗口之间的联系只能通过opener
      

  9.   

    “但是linux没有域的概念”??在出错那句前面试试:
    alert("address1:"+window.location+"\naddress2:"+window.opener.location)
    跨没跨域一看就知道了嘛。
      

  10.   

    楼上兄台的意思,linux有域的概念???
    好,我试试这个方法跨域的具体含义是什么?子窗口和父窗口在不同的域????怎么会呢?
      

  11.   

    子窗口和父窗口有可能在不同的域,比如从sohu打开sina
      

  12.   

    恩,但是我的情况不是啊,我的日期选择窗口(子窗口)是JSP,父窗口是servlet 生成的html页面,servlet和jsp不在一个目录而已,但是都属于同一个服务器的
    令人郁闷的是把在线编辑器全部替换为textarea框后,弹出和关闭都正常了!!!