子窗口代码(childwindow.aspx):
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>无标题页</title>
</head>
<script language="javascript" type="text/javascript">
function openuploadpages()
{
    alert(parent.document.getElementById("F2").innerHTML);
    parent.document.all.F1.click();
}
</script>
<body>
    <form id="form1" runat="server">
   <button id="Button1" onclick="openuploadpages()">upload</button>
    </form>
</body>
</html>父窗口代码:(本地的hta文件:test.hta)
<HTML>
<HEAD>
<META NAME="GENERATOR" Content="Microsoft Visual Studio 8.0">
<TITLE></TITLE>
</HEAD>
<script language="javascript" type="text/javascript">
function testalert()
{alert("aaaa");}
</script>
<BODY>
<input type=hidden id=F1 onclick="testalert()">
<div id="F2">
<p>test</p>
</div>
<iframe id="iframe1" src="http://localhost/test/UI/childwindow.aspx" height="490" width="715" frameborder=1></iframe>
</BODY>
</HTML>

解决方案 »

  1.   

    parent.document.all.F1.click(); 这个不行吗?
      

  2.   

    我不知道是不是因为父窗口是本地hta的问题,没有配置在IIS下
      

  3.   

    window.opener.yourjavascriptfunction()
      

  4.   

    刚才试了一下,在childwindow.aspx新建了test.htm,拷贝test.hta代码到test.htm,用http://localhost/test/UI/test.htm访问是可以成功的。
    但是,本地hta怎么处理才可以成功呢?
      

  5.   

    访问父窗口关键就是使用opener对象来处理:
    例如:opener.document.tryst_form.input_tag.value,就能够改变父窗口控件的值。
      

  6.   

    http://www.yhhe.net/ape/book/fap/las/ns/win.html