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