一、发现问题
通过A页面通过window.open打开一个B页面,B页面提交过后,希望局部刷新A页面。


二、解决问题
A页面
window.open(url, '','width=100,height=100,resizable=no,status=no,menubar=no,scrollbars=no');

B页面
<form action="BAction?method=save">
<input type="submit" value="提交" />
</form>

BAction
public void save(HttpServletRequest request,HttpServletResponse response)
{
StduentSave();
PrintWriter pw = response.getWriter();
String jsAlert = "<script>alert('操作成功');window.opener.document.getElementById('hint').innerHTML='操作成功';window.close();</script>";
pw.write(jsAlert);
pw.flush();
}
B页面提交给了BAction,BAction处理过后关闭了B页面,同时只更新了A页面的提示区。


三、思考过程
除了更新某个区域的html,也可以更新表单元素:window.opener.document.getElementById('hint').value = "";