弹出窗口关闭后如何触发父窗口事件,急,谢谢!

yang_kun 2008-10-26 09:17:10
A窗口有一个按钮button,一个文本框Textbox,一个Image控件。
在A窗口中打开B窗口,B窗口传值给A窗口的Textbox,然后关闭,我是这么写的:
Response.Write("<script>window.opener.document.form1.txt_test.value ='"+values+"';window.close();");

我想在B窗口关闭的时候同时触发A窗口中button的click事件,请问该怎么写?
同时B关闭时将一个页面链接(例如为:~\aa\imageshow.aspx)赋给A窗口的Image,该怎么写?
谢谢大家,请指教..........
...全文
931 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
yang_kun 2008-10-27
  • 打赏
  • 举报
回复
谢谢大家,用 window.opener.document.form1.txt_test.click();解决了
lizhimin0310 2008-10-27
  • 打赏
  • 举报
回复
d
yang_kun 2008-10-27
  • 打赏
  • 举报
回复
Window.opener.document.getElementById("imgid").src='XXX.aspx';
感觉不刷新页面没有什么用啊
cjjsun 2008-10-27
  • 打赏
  • 举报
回复
好复杂,学习!
hengyan 2008-10-27
  • 打赏
  • 举报
回复
在A窗口中打开B窗口的方法中写,不过要在B窗口关闭的时候return一个值,然后在A窗口中打开B窗口的方法中获取值,之后触发A窗口中button的click事件
A页面打开B页面的方法
var r = window.showModalDialog("../../DM/inc/SelectUC.aspx", null,"dialogWidth:400px; dialogHeight:400px; status:no; directories:yes;scrollbars:no;Resizable=no;;help:no;scroll:no ");
if(r != null)
{
var name=r.substring(0,r.indexOf('#'));
document.all['txtApplyUC'].value = name;
var code=r.substring(r.indexOf('#')+2,r.length-1);
document.all['hiddenApplyUC'].value = code;
}

B页面的相关代码
function OK()
{
var name=document.all['Tree:NodeName'].value;
name=name.substring(1,name.length-1);
window.returnValue =name+"#"+document.all['Tree:NodeCode'].value;
window.close();
}

<td height="20" class="tr_NodeSaveBg" align="right"><img src="../../images/button/save.gif" class="Button_Hand" onclick='OK()'> <img src="../../images/button/close.gif" onclick='window.close();' class="Button_Hand"> </td>
chy3503319 2008-10-27
  • 打赏
  • 举报
回复
opener
bowei3bowei3 2008-10-27
  • 打赏
  • 举报
回复
6楼和7楼的都对,
如果是img的话,可以Window.opener.document.getElementById("imgid").src='XXX.aspx';
萤火架构 2008-10-27
  • 打赏
  • 举报
回复
楼主是否可以使用模态窗口解决这个问题
满衣兄 2008-10-27
  • 打赏
  • 举报
回复
Window.opener.document.getElementById("buttonId").click();
满衣兄 2008-10-27
  • 打赏
  • 举报
回复
window.opener.document.form1.txt_test.click();
bsetsail 2008-10-27
  • 打赏
  • 举报
回复
听起来好像是说要在B页面调用Ayemian的服务器端方法,这样好像不行呢,客户端方法才可以吧?
wfyfngu 2008-10-27
  • 打赏
  • 举报
回复
假设a页面button单击的事件为 function aaaa(){}

那么在b页面就是用
opener.aaaa()
去调用
NIJIA72 2008-10-27
  • 打赏
  • 举报
回复
帮你顶一下
antiking 2008-10-27
  • 打赏
  • 举报
回复
<script type="text/javascript">
function ss()
{
window.showModalDialog('test1.aspx',window,'status:Modeless;edge:sunken;unadorned:no;scroll=no;resizable:no;dialogLeft:300;dialogtop:200;help:no;dialogwidth:300px;dialogheight:220px');
var obj =document.getElementById('Button3');
obj.click();
}
</script>


<asp:Button ID="Button2" runat="server" OnClick="Button2_Click" OnClientClick=" ss()" Style="position: relative"
Text="Button" />
<asp:Button ID="Button3" runat="server" Style="position: relative" Text="Button" OnClientClick="javascript:alert('S');" />
koukoujiayi 2008-10-27
  • 打赏
  • 举报
回复
用AJAX
loverdotnet 2008-10-26
  • 打赏
  • 举报
回复
今天有朋友问我关于用javascript来进行页面各表单之间的数据传递的问题,我以前也写过,不过从来没有注意,今天总结了一下,希望能够给大家一些帮助,也帮助我总结以前学过,用过的知识。
一,最简单的就是同一个网页里的表单的数据传递。

举个实例,一个网页上有两个表单,每个表单里一个文本框,一个按钮。点按钮互相对操作对方的文本框的值。我们举的例子是把一个文本框付给另一个文本框。具体的HTML代码如下:






<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</head>
<body>

<form name="form1" method="post" action="">
<input type="text" name="textfield">
<input type="button" name="Submit" value="1--------->2" onClick="ok()">
</form>

<form name="form2" method="post" action="">
<input type="text" name="textfield2">
<input type="button" name="Submit" value="2----->1" onClick="ok1()">
</form>

</body>
</html>




以上为HTMl的代码,大家可能注意到了onclik的代码了,有两个函数,接下来就是javascript的代码了:


<script language="javascript">
function ok()
{
document.form2.textfield2.value=document.form1.textfield.value;
}
function ok1()
{
document.form1.textfield.value=document.form2.textfield2.value;
}
</script>



二,第二种是两个窗口之间的表单的文本框之间数据传递。

其实这个可以在原来的基础上进行一些扩展就可以了。关于如何创建弹出窗口,窗体里的表单的代码, 在这里就不多说了,现在在这里说一下如何操作父窗口的表单里的文本框的数据。具体代码如下:


<script language="javascript">
function ok()
{
opener.document.form2.textfield2.value=document.form1.textfield.value
}
</script>





三,第三种就是框架网页之间的表单的文本框之间数据传递.

注意的地方是框架的写法:


<frameset cols="505,505">
<frame src="test.htm" name="leftr" id="leftr">//定义框架的名称
<frame src="test2.htm" id="right" name="right">
</frameset>
<noframes><body>

</body></noframes>



具体的实现代码如下:


<script language="javascript">
function ok()
{
parent.leftr.document.form2.textfield2.value=document.form1.textfield.value
}
</script>


这三种窗口之间的文本框数值互相操作的简单方法就实现了,其它需要注意的就是他们之间的关系。
addbao 2008-10-26
  • 打赏
  • 举报
回复
在b窗体里面设置一个全局数,在打开a窗体时候load判断该数,有相应的值就触发a的button事件

62,075

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧