[zk] 在zk5 註冊 Component 的 client side 事件

看板java作者 (沉默是金。)時間13年前 (2010/12/03 20:53), 編輯推噓3(3010)
留言13則, 4人參與, 最新討論串1/1
這個其實是回應這篇forum 時,想到的範例。 http://www.zkoss.org/forum/listComment/14637 過去在 jsp 的世界中,我們常常會用 javascript 在送出表單前作 form 的驗證, 但在 zk 的世界裡雖然已經有提供輸入元件(InputElement,如textbox、datebox) 透過 constraint 來驗證的方式。 @see http://0rz.tw/uJ3xJ about constraint 如果你過去習慣 jsp 這樣的作法, 你現在仍然可以透過註冊 Widget event 在javascript端去進行一些處理, 來決定這個事件是不是要繼續送回伺服器端進行後續的處理。 當然,能夠註冊client 事件也有助於你在zk世界中跟其他第三方元件的溝通, 比方說當顯示一張圖片時進行一些jQuery 處理行為的加載之類的。 具體程式碼 <vbox xmlns:w="client"> <textbox width="350px" id="hi" value="if you don't change me i will not send to server"> <button label="Test" orient="vertical" width="125px"> <attribute w:name="onClick"> //Client Side //validation here //simple validation to prevent default word if(jq("$hi").val()=="if you don't change me i will not send to server" ){ alert("client event stoped!"); event.stop(); } </attribute> <attribute name="onClick"> //Server Side alert("clicked"); </attribute> </button> </textbox> </vbox> [/code] 這個範例演示一個情形,當我一定要修改輸入框的字才繼續進行伺服器端的處理時, 我可以註冊該按鈕的 client onClick 事件(注意w: 這個 xml namespace ), 並在我不想要它送給 server 時將事件停下。(event.stop() ) 具體操作情形跟範例可以看這影片。 http://0rz.tw/wZWJY -- 話說回來,是說 ptt 這裡好像 zk developer 不多...... -- 網頁上拉近距離的幫手 實現 GMail豐富應用的功臣 數也數不清的友善使用者體驗 這就是javascript 歡迎同好到 AJAX 板一同討論。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.133.44.37

12/04 00:42, , 1F
之前有3.6碰過,但是覺得某些東西包的不好就沒繼續用
12/04 00:42, 1F

12/04 00:43, , 2F
現在要研究的話個人傾向GWT
12/04 00:43, 2F

12/04 00:46, , 3F
雖然國貨UI其實也不錯,不過我還是比較看好GWT
12/04 00:46, 3F

12/04 01:21, , 4F
不管就產品或者就功能面來看,zk跟gwt想解決的問題不一樣。
12/04 01:21, 4F

12/04 01:24, , 5F
不過是說技術性的東西本來就是各有所好,有興趣的話可以討論
12/04 01:24, 5F

12/04 01:24, , 6F
目前開發中....使用5.0.5版
12/04 01:24, 6F

12/04 01:28, , 7F
哦,難得,zk的東西蠻多的,有什麼問題可以一起討論。:)
12/04 01:28, 7F

12/04 07:55, , 8F
其實前陣子曾經想過要再看zk 5.0 但是發現變太多XD
12/04 07:55, 8F

12/04 08:01, , 9F
有機會的話還滿想找東尼前輩討教一下
12/04 08:01, 9F

12/04 14:00, , 10F
zk 5.0 我覺得比 zk.3.6.4來講是革命性的進步。
12/04 14:00, 10F

12/04 14:45, , 11F
傳輸亮、記憶體、效率上都比較好。
12/04 14:45, 11F

12/04 15:32, , 12F
*量
12/04 15:32, 12F

12/05 01:04, , 13F
期待T大的zk新得分享 :P
12/05 01:04, 13F
文章代碼(AID): #1C-EXOIJ (java)