關于原頁面與彈出頁面之間進行交互的問題的設計

          web開發過程中,經常會遇到原頁面與彈出頁面之間進行交互的問題,如果只是簡單的變量傳遞,還是不難的,而我們經常遇到的一個實際場景是:例如有一個用戶列表頁面,點擊“新建”按鈕,彈出一個創建用戶的頁面,填寫完信息后要提交表單并關閉窗口,同時列表頁面中要列出新建的用戶,這個時候我們一些開發人員喜歡使用的方式為:
          userForm.submit();
          opener.location.reload();//或者有些開發人員喜歡用opener.location=列表頁面的請求url
          window.close();
          上面的代碼有一個很明顯的問題,就是如果表單提交給后臺,后臺還在處理,而此時原頁面已經執行了重載,那么等新用戶在后臺存儲后了,也不會反映到列表頁面中了,當然刷新一個就有了,但是就達不到我們所要的效果了。下面給你介紹一種比較穩妥的方式(ajax方式就不介紹了):
          先讓表單提交,提交后還是回到彈出的那個頁面,或者一個其它的頁面,然后在該頁面中做判斷,如果后臺信息處理成功,那么就執行原頁面的重載,然后關閉窗口。
          當然有些開發人員說,前面的那種方式,一直在項目中使用沒有發現什么問題,那我告訴你,那是因為你比較幸運,后臺處理速度很快,列表重載的時候,后臺已經處理完了,但是一旦后臺處理慢了,客戶就該找麻煩了。


          所以常用的設計是:
          1。
          原來界面中加入
          if(showModalDialog(彈出的新的界面))
          {
              原來界面的query()
          }
          2。
          新的彈出的界面中加入
          function init()
          {
              if(提交成功)
              {    
                  windows.retrunValue=true;
                  return;
              }

          }

          對于讀取后臺的處理還是提交后還是回到彈出的那個頁面

          posted on 2007-10-15 17:32 劉錚 閱讀(338) 評論(0)  編輯  收藏 所屬分類: JSP and Servlet

          <2025年5月>
          27282930123
          45678910
          11121314151617
          18192021222324
          25262728293031
          1234567

          導航

          統計

          留言簿(1)

          文章分類(141)

          文章檔案(147)

          搜索

          最新評論

          主站蜘蛛池模板: 绥芬河市| 阿克| 萨嘎县| 嘉禾县| 沙田区| 南澳县| 镇雄县| 萨迦县| 禄丰县| 江永县| 宜章县| 金山区| 孟村| 宁津县| 肥西县| 门源| 公安县| 韩城市| 潍坊市| 山阳县| 淮北市| 松潘县| 乌拉特后旗| 宿州市| 平山县| 龙南县| 乌兰县| 皮山县| 西城区| 朝阳县| 安溪县| 缙云县| 晋江市| 黑山县| 左云县| 六枝特区| 巴塘县| 徐闻县| 阳谷县| 崇明县| 黄陵县|