Posted on 2006-04-06 15:49
FlyPig Lin 閱讀(285)
評論(1) 編輯 收藏 所屬分類:
腳本
下載鏈接:
http://m.tkk7.com/Files/FlyPig/lxf060328.rar
二月份到三月份的時候,我做了一個項目。通過這個項目我認識了Ajax。同時發現使用它沒有想象中的難。
關鍵的地方還是消息返回之后的操作,比如說點查詢后,因為沒有刷新,就得用返回的xml串重新構建列表。
雖然我還沒有看同事寫的那一套腳本,但我覺得調用太麻煩了。所以就花了幾個晚上趕工寫了一些。
這個博客好像不提供附年上傳,所以我只好把地址貼在上面了。上傳的腳本,主要完成了xml串構建html表格,分頁;表單校驗.例子在example下。
說明:
一、Xml填充表格:
XmlTable完成的功能,將
<table>
?<data>
??<colName1><![CDATA[value1]]></colName1>
??<colName2><![CDATA[value2]]></colName2>
?</data>
?<data>
??<colName3><![CDATA[value3]]></colName3>
??<colName4><![CDATA[value4]]></colName4>
?</data>
?...
</table>
格式的XML自填充到頁面上的html表里.每個data為一行.<colName{i}>里的數據填充到與表頭的id或col的id一致的對應列里.
被填充的表格及表頭不用腳本構建的原因,那是因為我覺得這是死的東西。直接寫頁面上就行了。
XmlTable的調用方法:
點查詢的時候調用的方法為:
TableHelper.fillPXTableByQuery(tableName,url,formName,temp);
參數介紹:
talbeName : 要填充的表的id;
url : 向服務器發出請求得到結果集的url;
formName : 查詢的表單名
temp : 這只是個臨時參數.因為這里是靜態文件.分頁的數據我直接寫在xmlHelp.js的數組里了.表示取哪個數組而已.
點查詢的時候xml串的取得是為: url+表單里各項參數的結果.這里因為是靜態的,所以我寫死在數組里了.
分頁的生成方法:
TableHelper.attachXmlTablePageProcess(tableName,url,formName,pageDivName,temp);
參數介紹:
前面同上.
pageDivName : 分頁生成所在的Div的id
temp:臨時參數.同查詢的參數.
二、表單校驗:
功能說明:校驗表單,支持Enter和上下鍵.
調用方法:
每個要校驗的表單元素加上校驗說明,比如說非空即寫為:notNull="true",格式必須為正整數的,即寫為format="isInt".(這個方法是我一個同事的同事想的,我覺得很好)
body onload的時候調用:var fHandler =FormHelper.attachFormEventHandler(formName);
這會將光標定位在第一個元素上.并在表單元素上附上onblur和onfocus事件.
提交按鈕的腳本里調用:
fHandler.validateNGenerateXmlStr();這會校驗表單,如果通過,會生成<eleName>eleValue</eleName>..的xml串.
其實我很想有時間來整理一些UI組件,整理一個常用的庫出來。不用每次項目中要用到時才趕工寫或到處找。可惜額滴水平有限。
這次寫腳本,我覺得比起我原來有進步。比如**Helper.get**EventHandler()方法保證頁面里對同一個元素處理的類總是只有一個。嘿嘿。。
今天先寫到這吧。我好累。最近都工作到好晚,上次寫這一些腳本我有一星期一回家就坐電腦前(因為上班沒空寫),一直寫到三四點。這些腳本尚有bug,但我沒力氣改了。唉。