我正在将一个由div方式实现的日期控件,改为popup实现。我想直接在popup中的document中去输出js代码,由js代码去调用显示日期
  的函数,但是我这样出错了! 在popup中执行这个方法根本找不到这个函数; 代码示例如下:
     在这里date.js中有一个显示日期的函数:这个函数假定是show(); 但是我用下面的方法引用date.js,然后调用show()方法;可是发生错误。
     我知道可以通过parent.show();去调用父窗口的函数;这样可以成功显示日历,但是显示日历的窗口并不在popup中,而在popup的父文档窗口中。
     请问怎么解决这个问题?
         function showPo(){
               var popup =window.createPopup();
     
       var bodyHtmlHead = ' ';
bodyHtmlHead  +=  '<html>';
   bodyHtmlHead  +=  ' <head>';
bodyHtmlHead  +=  ' <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">';
bodyHtmlHead  +=  ' <link rel="STYLESHEET" type="text/css" href="doc/css/zpcal.css">';
   bodyHtmlHead  +=  ' <link rel="stylesheet" type="text/css" media="all" href="/themes/bluexp.css" title="Calendar Theme - system.css"> ';
bodyHtmlHead +="  <script   src='date.js'>  </script>";
     bodyHtmlHead +=  '      <script type="text/javascript"  > show() </script> ';
    bodyHtmlHead  +=  ' </style>';
bodyHtmlHead  +=  ' </head>';
bodyHtmlEnd   +=  '</html>' ;
     popup.document.writeln(bodyHtmlHead);
  popup.show(120, 120,200, 200,document.body)
      }
      
  

解决方案 »

  1.   

    在 popup 里用 parent.functionName() 调用主页面里的函数,其它类推
      

  2.   

    meizz(梅花雪) ( ) 信誉:707    Blog  2007-1-16 19:07:17  得分: 0  
     
     
       
    在 popup 里用 parent.functionName() 调用主页面里的函数,其它类推使用parent.functionName() 调用主页面的函数;但是调用这个函数的返回还是在主页面中啊! 怎么让它显示的结果放到popup窗口中啊 ! 
         
     
      

  3.   

    难道就没高手解答了吗? 如果这种方法不行;有人知道如何讲层跨越iframe吗?分不够可以再加!
      

  4.   

    跨框架下拉菜单
    http://www.smallrain.net/study_show.asp?id=566
      

  5.   

    给你父子窗口之间的例子你自己研究一下
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    <meta name="GENERATOR" content="Microsoft FrontPage 4.0">
    <meta name="ProgId" content="FrontPage.Editor.Document">
    <title>子父窗口的操作</title>
    </head>
    <body>
    <script>
    var win=null;
    function op(){
    win=window.open("about:blank","win","width=200,height=200");
    win.document.write("<input type='button' value='关闭父窗口' onclick='window.opener.opener=null;window.opener.close()'>");
    win.document.write("<input type='button' value='刷新你窗口' onclick='window.opener.location.reload()'>");
    }
    </script>
    <input onclick="op()" value="打开窗口" type="button"><input type="button" value="最小化" onclick="if(win&&win.open&&!win.closed){win.resizeTo(0,0);win.moveTo(0,window.screen.width);}else alert('还没有打开窗口或已经关闭')"><input type="button" value="最大化" onclick="if(win&&win.open&&!win.closed){win.moveTo(-4,-4);win.resizeTo(screen.availWidth+8,screen.availHeight+8);}else alert('还没有打开窗口或已经关闭');"><input type=button value="关闭子窗口" onclick="if(win&&win.open&&!win.closed){win.opener=null;win.close()}else alert('还没有打开窗口或已关闭')"><input type=button value="刷新子窗口" onclick="if(win&&win.open&&!win.closed){win.location.reload();win.focus()}else alert('窗口还没有打开或已关闭')"><input type="button" value="看子窗口的大小" onclick="if(win&&win.open&&!win.closed){alert(win.document.body.clientWidth+'*'+win.document.body.clientHeight);win.focus();}else{alert('还没有打开窗口或者已关闭')};">
    </body>
    </html>