如何在A窗口中关闭B窗口?

flyfox 2006-01-11 09:48:40
我在工作中每月都需要输入大量数据,原需访问B.asp输入,只能一项一项数据输入,我想将本机设成WEB服务器,设计一个ASP程序A.asp,实现如下功能,自动输入报表数据:

在A窗口打开A.asp,A.asp中有一个表单,表单项的数值在a.asp中赋,A.asp载入后自动将表单提交到B.asp(开新窗口B),过5秒后自动关闭B窗口,同时在A窗口中reload a.asp。

B.asp在公用服务器上,输入完成后会提示“数据已保存”,点确定后才能自动关闭窗口。且无法更改B.asp

应如何实现,请高手赐教。谢谢!

...全文
340 24 打赏 收藏 转发到动态 举报
写回复
用AI写文章
24 条回复
切换为时间正序
请发表友善的回复…
发表回复
wellan 2006-01-16
  • 打赏
  • 举报
回复
上面的,别人要的是B不能修改,,,在a里面打开,b作为a的一个对象,才能关闭b,
至于触发这个关闭动作,我只是用click来表示,你自己可以修改为时间控制的,(尽量长于你需要的时间,因为如果在b没响应之前关闭啦,数据还是没传过去!))
xiaolv899 2006-01-14
  • 打赏
  • 举报
回复
A:

<SCRIPT LANGUAGE=javascript>
<!--

var QueryWin
var timer

function OpenWindow(url)
{
QueryWin=window.open (url,"","left=0,top=0,height=200,width=300,resizable=no,scrollbars=no,status=no,toolbar=no,menubar=no,location=no")
CheckQueryWinClosed()
}


function CheckQueryWinClosed()
{

if (QueryWin.closed)
{
clearTimeout(timer)

//location.reload() //刷新本页面
A.disabled = true;
}
else
timer = setTimeout("CheckQueryWinClosed()", 1000) //1秒检查一次窗体是否关闭
}

//-->
</SCRIPT>
<INPUT TYPE="BUTTON" value="打开B" onClick="OpenWindow('B.asp')" name="A">


B:

处理程序
<SCRIPT LANGUAGE=javascript>setTimeout("window.close()", 15000);</script>
flyfox 2006-01-14
  • 打赏
  • 举报
回复
顶顶,我等着急啊。
wellan 2006-01-13
  • 打赏
  • 举报
回复
<SCRIPT language="JavaScript">

<!--

function openclk() {

another=open('http://anotherweb/b.asp?参数一=XXX&参数二=XXX','你要的b窗口的标题');

}

function closeclk() {

another.close();

}

//-->

</SCRIPT>
<FORM>

<INPUT TYPE="BUTTON" NAME="open" value="打开B窗口" onClick="openclk()">

<BR>

<INPUT TYPE="BUTTON" NAME="close" value="关闭B窗口" onClick="closeclk()">

</FORM>


参考上述代码,
在提交表单后调用一个函数,先在客户端检查表单合法性,如果合法, 调要open把要提交表单的各变量值以url的方式发送给b,同时开始调用脚本计时,到约定时间执行closeclk()

flyfox 2006-01-13
  • 打赏
  • 举报
回复
高手们再看看啊。谢谢了。
flyfox 2006-01-13
  • 打赏
  • 举报
回复
wellan(wellan) :

我下午试试能不能关窗口,谢谢!

我要的是自动关,不要click。
flyfox 2006-01-12
  • 打赏
  • 举报
回复
BlueDestiny(Last, Present, Future) 你好:
B.asp 不能修改,谢谢!
KimSoft 2006-01-12
  • 打赏
  • 举报
回复
有点晕,呵呵,楼主可能没有表达好。
tigerwen01 2006-01-12
  • 打赏
  • 举报
回复
定时自动关闭窗口:
<script language="javascript">
<!--
function closeWin(){
i=i-1;
document.title="关闭窗口倒记时:"+i+"秒";
if(i>0)
setTimeout("closeWin();",1000);
else self.close();
}
var i=20
closeWin();
//-->
</script>
假如窗口有父子关系,可以这样关闭:
window.openner.close();
其他操作类似,如reload等。
BlueDestiny 2006-01-12
  • 打赏
  • 举报
回复
A.asp
<script>
function __submit()
{
setTimeout('location.reload()',5000);
}
</script>
<input type='submit' onclick='__submit()' value='sumbit'/>

B.asp

'服务器操作
.......
response.Write "<script>setTimeout('window.close()',5000)</script>"
ybfqlyq 2006-01-12
  • 打赏
  • 举报
回复
非常費解!!樓主可否再詳細說明一下呢?
怎麼有A.asp a.asp,相同嗎?不要搞得太泛了。
Hiyeah2001 2006-01-12
  • 打赏
  • 举报
回复
不可能吧,要不站外不就可以随便提交了。这也太不安全了。除非改B.ASP。
flyfox 2006-01-12
  • 打赏
  • 举报
回复
xtuwz(子依(向大家學習,向版主學習.)) :你好
Domino服务器中的Notes数据库(*.nsf) 好像不对,我单位的OA系统都是http://www.web.com/*.nsf 文件。
flyfox 2006-01-12
  • 打赏
  • 举报
回复
谢谢各位,我明天到单位试试,若行就结贴。
先就各位的回答解释一下:
1、A.asp和a.asp是一样的意思,本人敲错,不好意思。
2、在A.asp中如 zkxp(矛18) 所说,有一句
<form name="form1" method="post" action="http://www.webserver/b.asp" targe=b>
这句能在新窗口中打开B.asp,但不知道是不是将新窗口命名为B,是否B.asp能改变新窗口的名称。
3、B.asp在输入完成后会提示“数据已保存”,点确定后,又提示“是否关闭窗口”,点确定后才能关闭窗口。
4、如何在A.asp中关闭B窗口,不用点上述的两次确定,我现在就剩这个问题了,别的今天都解决了。
还请大家多多赐教。谢谢!
xtuwz 2006-01-12
  • 打赏
  • 举报
回复
Domino服务器中的Notes数据库(*.nsf)
I2K 2006-01-12
  • 打赏
  • 举报
回复
在a.asp中加入一下代码:
<script language="javascript">

var n_window=window.open("b.asp?后面把表单提取的数据用参数的方式传过去");
setTimeOut('dq()','500');

function dq(){
n_window.close();
self.location.reload();
}
</script>
lqcc 2006-01-12
  • 打赏
  • 举报
回复
<script language="javascript">
{
setTimeOut('window.close()','500');
opener.location.reload();
}
</script>
sz111 2006-01-12
  • 打赏
  • 举报
回复
楼主的意思是这样吗?
当前窗口即是a.asp窗口,用户在此窗口中填写表单,按提交后,打开一个窗口b.asp(在别的服务器上的)并把表单的数据提交过去,然后等5秒中就自动关闭(你要说明一下,是不是5秒就行,前提要不要B窗口已经完成录入呢?),并且a.asp刷新一次。
说明一下:
(1)在a.asp新开一个窗口b.asp,然后5秒过后关掉它,这是可是实现的
new_window=window.open("b.asp?后面把表单提取的数据用参数的方式传过去")
用setTimeout设置成5秒后执行new_window.close即可。
(2)至于刷新,用reload函数即可。
5秒后关闭b.asp,是无法保证b.asp数据已经录入数据库的。
zkxp 2006-01-12
  • 打赏
  • 举报
回复
可以,这个很简单的实现啊.
form标签的action设置为远程的处理页面就是了.
<form name="form1" method="post" action="http://www.webserver/b.asp" >
数据处理程序都在B.ASP上.
本机也不需要弄为服务器做个html页都可以了.
patient 2006-01-12
  • 打赏
  • 举报
回复
楼主要得好像不是定时关闭窗口功能
加载更多回复(4)

28,406

社区成员

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

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