100%在线等待回答,解决马上送分。关于判断父窗口的问题。

greenhornH 2005-07-01 02:11:51
A.asp 是 B.asp的父窗口

B.asp 中有action事件到A.asp。

现在,我同时打开了2个A.asp界面,如何保证,让B.asp返回到正确的父窗口??


如下所示:

A.asp ×<----------- |
|
A.asp --> B.asp(action)-- |
|
↑ |
------------------------- |
...全文
207 27 打赏 收藏 转发到动态 举报
写回复
用AI写文章
27 条回复
切换为时间正序
请发表友善的回复…
发表回复
itera 2005-07-04
  • 打赏
  • 举报
回复
用 showModalDialog() 就可以返回参数ReturnValue 给打开B.ASP的A.asp了
wxylvmnn 2005-07-04
  • 打赏
  • 举报
回复
看来你这分是送不出去啦
greenhornH 2005-07-04
  • 打赏
  • 举报
回复
继续等待~``~~~~
greenhornH 2005-07-04
  • 打赏
  • 举报
回复
难道解决不了了么?

greenhornH 2005-07-04
  • 打赏
  • 举报
回复
不一定非要这种方法呀。
-----------------
那,用哪种?

给个意见,先。

前提:我做的是变更编码,整体流程是不可以给改变的。
wxylvmnn 2005-07-04
  • 打赏
  • 举报
回复
呵呵~的确是个问题。
itzhiren 2005-07-04
  • 打赏
  • 举报
回复
不一定非要这种方法呀。
greenhornH 2005-07-04
  • 打赏
  • 举报
回复
这样的话就是a.asp的窗口没有定义名称。那样更难判断,或者说不行吧。定义了名称的话不会开两个的。只会在原来的那个刷新。
-----------------------------------
这样也不可取。代码如下:
a.asp
--------
<script>
window.name='parent'
</script>
<%
if request.form("YesorNo") <> "" then
response.write "<input type='text' name='a' value='Yes'>"
else
response.write "<input type='text' name='a' value=''>"
end if
%>
<input type="button" onclick="window.open('b.asp','_blank')">


b.asp
--------
<script>
function fnc(){
frm.target='parent';
//frm.target = opener.window.name;
frm.action='a.asp';
frm.method='post';
frm.submit();
}
</script>
<form name='frm'>
<input type="text" name="YesorNo" value="1111">
<input type="button" onclick='fnc();'>

-----------------------------
你同时打开2个a.asp,然后你对第二个a.asp进行操作,弹出b.asp,再操作,你会发现,b.asp赋值给了第一个a.asp,而没有给第2个a.asp。
greenhornH 2005-07-04
  • 打赏
  • 举报
回复
要做的更好点就是定义一个SESSION数组,按时间保存每次打开的历史纪录。然后选择最近的时间或什么的。。。
----------------------------------------------
这个方法也不可取。

原因:用户进行操作的,不一定是最近打开的网页,很有可能,他打开了2个,然后他去操作第一个页面。
wzpwork 2005-07-04
  • 打赏
  • 举报
回复
在A.asp中用一个Session("ID"),这个ID随机产生,并保证唯一性。再在子窗体得到Session("ID")经过判断就可以知道是中个父窗体传过来的。
greenhornH 2005-07-04
  • 打赏
  • 举报
回复
用 showModalDialog() 就可以返回参数ReturnValue 给打开B.ASP的A.asp了
--------------------

前提:我做的是变更编码,整体流程是不可以给改变的。也就是说,.open()打开的不可以改为.showModalDialog()


dorryyang 2005-07-02
  • 打赏
  • 举报
回复
B.asp的父窗口是A.asp,但是A.asp被打开了2个
————————————————————————————
这样的话就是a.asp的窗口没有定义名称。那样更难判断,或者说不行吧。定义了名称的话不会开两个的。只会在原来的那个刷新。
aassdd 2005-07-02
  • 打赏
  • 举报
回复
用SESSION也不行,因为是同样的SESSION,名字也不行因为还是一样的。
要不就关掉一个这个 很正常。
最后,只有打开页面的时间不一样。哈哈。楼主给分吧。
要做的更好点就是定义一个SESSION数组,按时间保存每次打开的历史纪录。然后选择最近的时间或什么的。。。
greenhornH 2005-07-02
  • 打赏
  • 举报
回复
因为呢`我需要从B.asp传递一个变量给A.asp,然后A.asp通过这个变量,去数据库里面取数据。

greenhornH 2005-07-02
  • 打赏
  • 举报
回复
一个网页,被打开2次很正常。


功能我都说了N遍啦`````````就是说B.asp的父窗口是A.asp,但是A.asp被打开了2个。

B.asp该怎么判断,哪个A.asp才是真正的父窗口呢?OK?


kyxlzj 2005-07-02
  • 打赏
  • 举报
回复
你打开的2个a.asp其实都是同一个程序,楼主不知道你什么思想,, 无从判断
itzhiren 2005-07-02
  • 打赏
  • 举报
回复
楼主这样做,要实现什么功能?
greenhornH 2005-07-02
  • 打赏
  • 举报
回复
问题还是没有解决!!!!!!!

其实我是很简单的问题啊~

B.asp 在 submit事件提交的时候,action到A.asp.

但是!!!

我打开了2个A.asp,如何让浏览器判断,应该action到哪个A.asp??


flying310 2005-07-01
  • 打赏
  • 举报
回复
父窗口用top,所有事件用js写。
xiaosaye 2005-07-01
  • 打赏
  • 举报
回复
还是没搞明白你的意思
加载更多回复(7)

28,406

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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