關(guān)于原頁(yè)面與彈出頁(yè)面之間進(jìn)行交互的問(wèn)題的設(shè)計(jì)

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


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

          }

          對(duì)于讀取后臺(tái)的處理還是提交后還是回到彈出的那個(gè)頁(yè)面

          posted on 2007-10-15 17:32 劉錚 閱讀(344) 評(píng)論(0)  編輯  收藏 所屬分類(lèi): JSP and Servlet

          <2025年7月>
          293012345
          6789101112
          13141516171819
          20212223242526
          272829303112
          3456789

          導(dǎo)航

          統(tǒng)計(jì)

          留言簿(1)

          文章分類(lèi)(141)

          文章檔案(147)

          搜索

          最新評(píng)論

          主站蜘蛛池模板: 修文县| 烟台市| 沙洋县| 犍为县| 曲阳县| 南江县| 越西县| 托克托县| 赣州市| 永平县| 杭锦后旗| 中卫市| 泸水县| 绥德县| 沐川县| 昌乐县| 兴海县| 永和县| 雅江县| 蓬溪县| 温宿县| 满城县| 运城市| 吴桥县| 襄汾县| 甘孜| 瑞丽市| 师宗县| 浑源县| 吉安市| 沁水县| 达拉特旗| 永兴县| 新晃| 和林格尔县| 盐源县| 韩城市| 江阴市| 名山县| 林周县| 聂荣县|