利用ajaxSubmit()提交表单后,子窗口关闭,父窗口显示查询页面

问题描述:我在父窗口点击添加用户,弹出子窗口页面,在子窗口填写表单后,点击保存,交给后台,后台保存数据,并查询数据库,将所有用户显示在父窗口中。

解决之路:

1.我在表单提交之后加上了这么一句:window.close() ,可是加上这一句之后,表单不提交了。

2.google之后,看到有网友说要等表单提交之后,再关闭,也给出了解决方案:setTimeout(function(){window.close()},1000),可是表单依旧不能提交。

3.这个方案行不通后,我参考了另外一位网友的回答,必须用ajax异步提交表单,可是组织数据是个难题,我那个表单里东西太多了,后来看到了这个


可是后台接收不到数据,我想应该时我的表单的enctype="multipart/form-data"。

4.再坚持坚持,或许就有方案能够解决了,果不其然,让我找到了ajaxSubmit()(至于其用法以及与ajaxForm()的区别用时再google),这时候我再写上window.close()后,表单能提交了,后台数据也能接收了,子窗口也能关闭了,可是父窗口并没有将查询后的结果显示出来,这个时候我测试了一下,我发现当我不添加文件的时候,父窗口是能够将所有用户数据(包含刚才新添加的)显示出来,为什么呢?我依然不明白。哦,对了,最后一点问题是在我添加这么一句迎刃而解:window.opener.location.reload()。

 $("#Form1").ajaxSubmit({
    	type: "POST",
  	url:"system/elecUserAction_save.do",
  	success:function(){
  		window.opener.location.reload();
		window.close(); 
  	   }
       });
我后台用的是struts2
	//保存用户
	public String save() {
		userService.saveUser(user);
		return "save";
	}
struts.xml配置:

<result name="save" type="redirectAction">elecUserAction_home.do</result>






  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值