
《圖五》jQuery document.ready 範例
Serialize
在網頁處理中,常常會有許多的欄位資料需要往後端傳送做處理,會員註冊的情況尤其明顯。想想,如果有一個上百個欄位的表單需要做填寫,整張表單的欄位都往後傳,如果手動用Key/Value pairs 的型態處理一定相當麻煩而且出錯的機率非常大。jQuery提供了一個相當方便的方法 – serialize(),利用這個方法,可以將表單中的元素自動生成Key/Value pairs 的型態回傳,省去一大部分的苦工,往後需要在表單中多新增欄位時也不需要在傳送參數中新增,因為他一樣會自動生成在傳送的參數中,如此一來便不需要擔心會有漏傳參數的問題了。

《圖六》利用serialize方法就可以自動生成表單中的欄位對應參數。
事件 ( Event ) 控制
在jQuery中也簡化了許多事件控制的動作,而事件項目如滑鼠控制事件(Mouse events)、鍵盤控制事件(Keyboard events)、表格事件(Form Events)、文件及視窗事件(Document/Window Events),而各事件所對應的jQuery關鍵字如下表:
以表格事件來說,常常在網頁上會有許多欄位需要使用者輸入(例如註冊功能),如果要提示使用者欄位輸入的注意事項或者是顯目的標記已讓使用者明確知道現在的控制項為哪個欄位,直接在網頁上提示也不是不行,但除了佔版面,美觀及排版也會是一個問題,這時候如果使用”focus”便可以輕鬆解決這個問題。範例及結果如下所示:

《圖七》
結果:

《圖八》
如結果所示,當控制權移動其中一個欄位時,背景及框線就會改變,如此一來可以清楚的讓使用者知道目前的控制項位於哪裡。JQuery AJAX在傳統的網頁設計中,程式設計師在傳送表單時,發出一個請求 (request)傳送到後端伺服器,伺服器接收並處理後送回一個新的表單,進行後續相關操作。這樣的做法不但浪費網路資源,而且每一次的處理都需等待伺服器回應才能繼續,大量的資料傳送也需要花上對等的時間。在表單及伺服器處理的資料中有大部分都是雷同的,卻還要一來一往的傳送,相當浪費資源。為了因應這個問題,AJAX (Asynchronous JavaScript and XML) 的技術出現了,非同步載入的概念節省了許多等待伺服器回應的時間,相同的程式碼不必再重複的往返伺服器與網頁間,只要更動網頁上需要變動的元素即可。
在jQuery AJAX出現前,傳統AJAX 的程式碼撰寫其實也不是很容易就可以上手,原因在於不同的瀏覽器在使用AJAX時皆有不同的實作方式,這使得早期在開發AJAX時常常需要多寫一些額外的程式碼來處理不同瀏覽器。但現在有了jQuery的AJAX便不用擔心這個問題,僅僅只要使用簡單的程式法就可以輕鬆達成支援多瀏覽器的效果。
在jQuery中,將AJAX的技術包裝起來,可以更方便快速的使用,同時也提供了文字、HTML,或者是JSON三種不同格式可以使用。這種在背景處理資料僅更新部分網頁元素的作法,早也已經充斥著我們身邊,如每天收發電子郵件廣受大家使用的Gmail,出門在外旅遊好幫手電子地圖Google maps,以及創造無數網路紅人的媒體共享平台Youtube,當然亞洲人使用率最高的交友平台Facebook也是應用了AJAX的技術,從以上的幾個例子就可以很清楚AJAX技術在未來的發展將是無法限量。
以下將簡單的jQuery AJAX的用法及相關的介紹:
一、基本用法:
《圖九》
二、參數介紹:url: 要進行呼叫的位址。
data:要傳送到伺服器的資料。一般來說會是傳類似 ”name=XXX” 這種Key/Value pairs 的型態。
type: 請求方式。一般來說就是 POST或是 GET。
dataType: 預期從伺服器傳送回來的接收資料類型。常見的有xml, text,以及json。
success: 處理成功時處理的函式。當資料從後端處理完畢後,依指定的方式回傳後再由這邊的函式作處理。
error: 處理失敗時執行函式。一般來說,有時候有問題發生的時候在網頁上都看不出異狀,所以會建議在程式碼的錯誤部分,加上這一段以回傳錯誤的資訊,比較好辨別處理錯誤的地方。
jQuery WidgetsjQWidgets是一個結合jQuery及HTML5概念整合的使用者介面框架, 提供了一個良好且易懂的方法給程式開發者使用,這個工具的原始開發概念完全符合HTML5, CSS, Javascript及jQuery的開發準則。當然,近幾年來行動裝置的程式開發已經變成一種趨勢,jQWidgets除了應用在一般的網頁開發外,這個工具同時也直援手機程式端的開發,妥善的應用jQWidgets,可以讓網站的開發及互動變得更美觀更直覺。
jQWidgets的優點除了可應用於一般網頁開發及手機應用程式上外,她的效能也是經過特別調校的,除了檔案內容本身很迷你外,程式內容的模組化對於效能上的提升也有不少助益。此外,jQWidgets也可應用在不同的瀏覽器上,像 Internet Explorer 7.0+, Firefox 2.0+, Safari 3.0+, Opera 9.0+, Google Chrome, IE Mobile, Android, Opera Mobile, Mobile Safari(IPhone, IPad).
在jQWidgets官方網站上有許多jQWidgets的範例可供參考,以一般實作網頁時最容易碰到的會員註冊為例如,jQWidgets 直接將會員密碼強度檢查、密碼確認以及日期的工具直接都已經實作完畢,我們需要做的只是呼叫套件來使用即可以完成這些繁瑣的工作,不再需要像以往使用javascript一項一項功能實做。jQWidgets不但可以提供城市開發者方便使用的套件,更可以帶給使用者更好的經驗。
結論在現在這個資訊爆炸的時代,網路上有太多太多的免費資源可供使用,但未經整理過的僅僅是資料而不是有用的資訊。對於程式設計師而言,有太多的工具可以使用反而會無所適從。本文從便利性、擴展性以及未來的發展性為出發點,介紹了幾個在實做網頁程式時常用到的套件,像是jQuery AJAX以及相關的API都可以幫助我們事半功倍,為使用者創造更多友善及直覺性的互動式頁面。
jQuery為網頁發展帶來跳躍式的成長,原本的javaScript在使用上並不是這麼的方便,但有了jQuery既直覺又強大的功能,已經成為網頁設計不可或缺的一環。此外,行動式裝置的發展也將是未來注目的焦點,不管在硬體的競爭還是軟體的角逐都會為人類的未來帶來更多的進步,jQuery的發展也漸漸從桌上型裝置支援到行動裝置,相信在未來jQuery會發展出更多便利及強大的功能。
參考資料http://jsgears.com/thread-63-1-1.htmlhttp://blog.kkbruce.net/p/javascript.html#jQueryhttp://www.w3schools.com/jquery/http://www.jqwidgets.com/