天天看點

潤乾報表實作模态視窗送出填報表在本視窗重新整理

問題背景

         客戶在模态視窗中釋出填報表,當點選送出時,總會打開一個新頁面提示送出成功。客戶希望,在模态視窗中送出報表後能夠在本視窗中彈出提示,并且在該模态視窗中重新整理。

問題分析

         由于報表送出時會請求一個servlet處理,而後傳回到該頁面。而模态視窗并不是一個頁面,可以将其了解為一個彈出視窗。是以當報表送出後,servlet傳回頁面時找不到對應的頁面,是以會打開一個新視窗。

         針對模态視窗自身的特點,如果我們能夠将其嵌套在架構中,如frame,送出以後應該就不會打開新視窗了,是以本文即嘗試将模态視窗放到iframe中嵌套。

實作步驟

         第一步,準備任意填報表。

         第二步,準備打開模态視窗的jsp頁面,如下:

<html>

<body topmargin=0 leftmargin=0 rightmargin=0 bottomMargin=0 bgcolor="pink">

<input type="button" value="模态視窗" onClick="showModal('modelDialog.html',700,600)"></input>

<script language="javascript">

         function showModal(urlstr,width,height){

                   var me;

                   me=window;

                   x=(screen.availWidth-width)/2;

                   y=(screen.availHeight-height)/2;

                   dWin=window.showModelessDialog(urlstr,me,'dialogWidth='+width +'px;dialogHeight='+height+'px;help:no;status:no;scroll:no;dialogLeft='+x+';dialogTop='+y);

         }       

</script>

</body>

</html>

         第三步,準備modelDialog.html,如下:

<html>

<BODY>

  <iframe src="showReport.jsp" width="100%" height="100%">

</BODY>

</html>

将釋出報表的jsp嵌套在ifame中。

         最後,準備釋出報表的jsp,這裡不再贅述。

         我們來看一下經過這樣處理後的效果:

潤乾報表實作模态視窗送出填報表在本視窗重新整理

點選确定

潤乾報表實作模态視窗送出填報表在本視窗重新整理

繼續閱讀