SharePoint JavaScript Lib – SPJsLib發布

來源:互聯網
上載者:User

之前在某個不能使用任何後台代碼的項目中開始研究的用javascript去控制SharePoint,略有心得,也曾經在賞梅齋的moss開發群裡做過一次和這個話題相關的講座,記錄點擊這裡。

前一陣整理了一下這個項目裡用到的一些javascript的方法,並隨著後面的幾個項目添加了一些新的內容進去,現在發布出來。

地址是:http://www.codeplex.com/SPJsLib

主要是基於jQuery這個javascript庫來做的,我做的時候和測試的時候jQuery還是1.2.6版本,現在已經是1.3.1了,在項目的release裡也包含了一個1.2.6版本經過壓縮的jQuery檔案。

使用的時候不需要對jQuery有瞭解,當然如果瞭解jQuery的話更快速的實現更豐富的功能。

具體的使用方法參考專案網站裡的文檔(word 2003格式,中文的,幾乎每個方法都有sample code,代碼裡的注釋都是英文的),這裡大概介紹一下這個庫的作用:

這個JavaScript庫大致分成兩大部分:

第一部分:訪問SharePoint內容

通過AJAX技術(jQuery提供了很方便的跨瀏覽器的AJAX解決方案),調用SharePoint內建的Web Services,讀取、查詢、添加、修改或刪除列表中的條目。此外還支援了對目前使用者的使用者設定檔中各個屬性的讀取(這是某個項目的產物)

比如,下面這段簡短的代碼可以更新myList列表中所有lookup欄位查閱了ID為19的條目的標題(來自文檔):

   1: var res = queryItems('myList', "<Where><FieldRef Name='lookup' LookupId='TRUE'/><Value Type='Lookup'>19</Value></Where>", ['ID']); 
   2: var ids = []; 
   3: $.each(res.items, function(idx, item){ 
   4:     ids.push(item['ID']);        // $.each是jquery中的方法,效果類似於C#中的foreach 
   5: }); 
   6: var updateRes = updateItems('myList', ids, {'Title':'These are items lookup 19!'}); 
   7: alert(updateRes.success);

 

第二部分:控制SharePoint表單

這個表單指的是列表的建立和編輯表單,支援的欄位類型包括:

單行文本、多行文本(純文字和帶格式的文本)、數字(普通和百分比)、貨幣、選項(下拉式清單、Radio、多選)、查閱項(單選、多選)、時間和日期(僅日期和帶時間)、是/否、人員和組(不完全支援)、超連結、圖片

提供的功能包括:

1、隱藏/唯讀欄位

2、擷取/設定欄位的值

3、級聯兩個選項(下拉式清單)類型的欄位

4、級聯兩個查閱項類型的欄位

5、為查閱項和選項(下拉式清單)提供篩選功能(如果比較多的話選起來會方便很多)

6、從用戶端檢測欄位是否為空白(和欄位的那個設定無關,甚至可以根據某個欄位的設定來決定是否要檢查某些欄位,文檔中有個例子)

7、重定義“確定”和“取消”按鈕的行為

這兩部分內容結合起來,不用任何C#代碼也能夠完成很多操作了。當然,最好對javascript有一定的瞭解(不需要對jQuery有瞭解,當然瞭解更好)。

文檔中的兩張圖(查閱項欄位的級聯和篩選):

唯讀部分欄位的效果:

如果有任何問題或者建議的話可以在blog上或者codeplex上反饋給我,歡迎試用(已經在IE6/IE7/FF3.0上經過了初步測試)~

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.