WebWork 2.2新特性(九) AJAX之Remote A Tag


          首先,我們把wiki上的文檔翻譯一下:

          遠程鏈接標簽允許對一個URL進行訪問,但可以不刷新頁面.

          屬性

          名稱描述
          id (required) 元件ID
          href (required) 用來獲取內(nèi)容的URL
          errorText 如果取內(nèi)容時發(fā)生了錯誤,向用戶顯示的提示
          showErrorTransportText true/false - 當獲取內(nèi)容有問題的時候,是否把錯誤信息當作內(nèi)容顯示
          notifyTopics 遠程調(diào)用完成后,對那些Topic進行事件激發(fā),可以多個,用逗號分割
          afterLoading 遠程調(diào)用完畢后,要執(zhí)行的Javascript代碼

           


           
          Remote A標簽我覺得值得關(guān)注的特性是notifyTopics,也就是可以觸發(fā)別的控件的事件,它可以是一個發(fā)令員.
           
           
          首先我們來看Remote A標簽的一個例子

          <ww:a   id="link1"   theme="ajax" href="/AjaxRemoteLink.action"
                  showErrorTransportText="true"   errorText="An Error ocurred">Click Me</ww:a> 


          這個標簽的含義:

          •  ID為link1
          •  使用ajax模板
          •  點擊鏈接時訪問的網(wǎng)址為"/AjaxRemoteLink.action"
          •  如果發(fā)生錯誤把錯誤當作內(nèi)容處理
          •  錯誤信息為"An Error ocurred"
             


          點擊這個鏈接,頁面會去訪問"/AjaxRemoteLink.action",如果返回的結(jié)果是JavaScript,就會執(zhí)行相應(yīng)的JavaScript.

          如果返回的內(nèi)容不是JavaScript,系統(tǒng)不會有任何動作,也不會觸發(fā)事件. (這個確實有點令人迷惑,也許會改進?如何改進哪?)

          我們再來看一個可以觸發(fā)事件的標簽,這個是和DIV結(jié)合的,可以參考ajax例子中的lesson3中的例子:

          <ww:div  id="one"    cssStyle="border: 1px solid yellow;"
                  href="/ajax/test1.jspa"        theme="ajax"
                  listenTopics="mylink1_click" delay="1000">Initial Content</ww:div>

          <ww:a     id="link1"   theme="ajax"   href="/ajax/urltestjs.jspa"   
            showErrorTransportText="true"  
            notifyTopics="mylink1_click"
            errorText="An Error ocurred">Update</ww:a> 



          首先是一個要被觸發(fā)的Div標簽,它監(jiān)聽的Topic為"mylink1_click"(可以監(jiān)聽多個).然后是一個A標簽,觸發(fā)的Topic是"mylink1_click",此處也可以是多個,但用戶點擊這個Remote A標簽時,A標簽會執(zhí)行返回的JavaScript代碼,也會觸發(fā)Div標簽重新裝載它自身的內(nèi)容.

          如果標簽還有afterLoading='alert("done")'的代碼,在觸發(fā)Div事件之前還會執(zhí)行這個 afterLoading,可以閱讀前面Div標簽中關(guān)于afterLoading的說明.


          意外:這個Remote A的功能就這么多,本來以為應(yīng)該有一個點擊后用指定的內(nèi)容替換目標Div的內(nèi)容,不過目前沒有發(fā)現(xiàn)有直觀的做法可以實現(xiàn)這個功能,也許有其他做法更合適吧.


          注意:撰寫本文時,WebWork2.2還沒有最后發(fā)布,在最后發(fā)布的版本里應(yīng)該會有一些變化,請以最后發(fā)布的版本為準.

           


          除經(jīng)特別注明外,本文章版權(quán)歸JScud Develop團隊或其原作者所有.
          轉(zhuǎn)載請注明作者和來源.  scud(飛云小俠)  歡迎訪問 JScud Develop

          posted on 2005-09-13 15:25 Scud(飛云小俠) 閱讀(961) 評論(0)  編輯  收藏 所屬分類: WEB

          <2005年9月>
          28293031123
          45678910
          11121314151617
          18192021222324
          2526272829301
          2345678

          導(dǎo)航

          統(tǒng)計

          公告

          文章發(fā)布許可
          創(chuàng)造共用協(xié)議:署名,非商業(yè),保持一致

          我的郵件
          cnscud # gmail


          常用鏈接

          留言簿(15)

          隨筆分類(113)

          隨筆檔案(103)

          相冊

          友情鏈接

          技術(shù)網(wǎng)站

          搜索

          積分與排名

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 康平县| 汨罗市| 灵寿县| 安远县| 台州市| 蛟河市| 金湖县| 宕昌县| 阜宁县| 丹江口市| 托克托县| 孟州市| 建始县| 内乡县| 新郑市| 博罗县| 胶州市| 鸡东县| 清苑县| 石狮市| 东乌珠穆沁旗| 金乡县| 广饶县| 辉南县| 墨玉县| 天气| 潜江市| 双辽市| 攀枝花市| 色达县| 准格尔旗| 南木林县| 东安县| 称多县| 肇州县| 寿阳县| 商丘市| 竹山县| 文昌市| 盐源县| 小金县|