关于open.window子页面执行完成后如何刷新父页面的问题

本文介绍了如何在JavaScript中处理子页面执行完成后的父页面刷新问题。通过`window.open`创建子页面,并在子页面操作结束后调用`window.opener.callback`方法触发父页面的回调函数,实现父页面的刷新。示例代码包括子页面的提交和关闭,以及父页面的刷新逻辑。对于像删除这样的操作,可以直接在处理类中返回跳转到父页面的JavaScript语句来刷新页面。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

主页面:

<input id="btnAdd" type="button" onclick="openWin();" value="添加" />

在js中有如下代码:

function openWin() {
window.open('addInfo.jsp', '_blank',
'width=300,height=400,top=200,left=400');
}

     //定义callback方法,用于回调

       function callback() {
refreshWin();
}

//刷新当前页面
function refreshWin() {

//调用刷新页面的方法,此处RefreshSocket为刷新页面对应的方法,也就是说,如果页面有个刷新按钮,则,点击按钮提交的类名就是此处的类名
var url = 'RefreshSocket';
window.location.href = url;
}

在addInfo.jsp页面有如下代码:

<form name="form" action="AddSocket" method="get">

<input id="onSub"  type="button" onclick="formSubmit();" value="确定">

</form>

function formSubmit(){
this.form.submit();//提交action到AddSocket类
window.opener.callback();//上述执行完成后,调用打开页面的callback方法,此处是调用主页面的callback方法
window.close();//当前页面关闭
}


另外,如果是像删除这样的操作,直接从一个jsp跳转到一个类中,在类中执行一系列操作后,如果想刷新当前页面,那么,可以直接在类中书写跳转语句即可,如下所示:

主页面mainPage.jsp:

//删除操作关联后台的DeleteSocket类,如果要传参数,用?即可

window.location.href = DeleteSocket

DeleteSocket类页面:

//执行一系列操作后,可以直接书写JavaScript代码,写完这句话后就可以直接跳转到主页面并刷新主页面

out.print("<script type='text/javascript'>location.href='mainPage.jsp'</script>");


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值