利用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>
總結
以上是生活随笔為你收集整理的利用ajaxSubmit()提交表单后,子窗口关闭,父窗口显示查询页面的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 向日葵在mac不能以服务器运行吗,mac
- 下一篇: 加载中动画