回退上一個頁面時如何保證之前的資料還在,即回退時不重新整理頁面

糊塗蟲暴打荷包蛋發表於2017-11-24

最近寫頁面跳轉時遇到一個小問題,頁面A如下:


當點選操作按鈕時進入下面這個頁面,


點選返回,回退到上一個頁面時,如下:


之前選擇好的業務型別本該回顯的,沒了。網上查了一下,是js程式碼的問題,我的js程式碼在回退操作中是這麼寫的

                                                                         function back(){

                                                                             history.back(-1);

                                                                         } 

history.back(-1);的作用是:直接返回當前頁面的前一個頁面,並且重新整理該頁面。於是我換成history.go(-1)。

history.go(-1)的作用是:直接返回當前頁面的前一個頁面,但是不重新整理該頁面,即表單的內容依舊保持。測試發現,文字框中的內容回顯了,但是下拉框的內容還是不顯示,於是想了另一個辦法,如下:

在點選返回之前,定義一個flag=1並放到session中傳下去,在前一個頁面執行Init()方法時判斷如果flag不為1則進行重新整理,如果為1就不重新整理。測試看效果,發現不僅本來的下拉框沒有顯示,居然連其他需要回顯的內容也不見了,,,無奈啊,只能採用終極辦法:

和業務溝通下,將點選詳情顯示新頁面改成顯示一個彈窗,這樣在彈窗中的操作不會影響前要頁面的顯示。程式碼如下:



這樣改不是好辦法,因為肯定有辦法能做到不修改成彈窗該回顯的還是回顯,後續我找到高效的方法再補充了。


相關文章