這是課程中的一個小問題和例子,分享出來給更多朋友參考
問題:
預設情況下,我們在SharePoint中通過Forms Service填寫Infopath表單的時候,當我們點選了“Save”選單項,會彈出一個對話方塊來,這裡我們需要輸入一個File Name。如下圖所示
但問題就在於這裡,使用者輸入這個名稱顯然不是很方便的,而且容易造成重複
另外一個問題就是,上圖中,我們必須Save完後,還要點選Close按鈕,表單才會關閉。那麼有沒有什麼辦法改善這一點呢?
解決方案:自定義提交
我給出的解決方案就是不使用標準的Save功能,而是自定義提交功能。
第一步:定義提交選項
點選下圖中的Submit Options
啟用提交,並且選擇傳送到SharePoint document Library
點選Add按鈕,在下面的對話方塊中,定義目標列表庫,以及檔名的格式。我這裡定義個檔名包含三部分:它們用一個concat函式連線起來。
1. Order Form ,這是固定的
2. userName(),這是一個函式,返回當前使用者名稱
3. now(), 這是一個函式,返回當前時間
點選“Next”,給這個連線儲存一個名稱
第二步:顯示提交選單,隱藏預設的儲存選單
開啟表單選項
確認以下選項
完成如上設定之後,就可以到瀏覽器中看看效果了
點選“Submit”選單,表單會被自動關閉,而且會有一個預設的名稱,根據當前使用者和時間
總結
通過簡單的配置,我們確實可以實現自動命名和關閉表單。這個解決方案唯一的問題就是,它的目標文件庫是設定為固定的,如下圖所示
也就是說,這是固定傳送到某個文件庫的,目前沒有什麼簡單的配置方式實現自動傳送到當前文件庫。
為什麼會有這個問題,因為Infopath表單說到底是一個內容型別,它應該是要能複用在不同的表單庫才對,有的朋友可能會說,最好是能根據當前使用該表單模板的表單庫位置自動儲存是否更好。當然,在某些情況下,那樣確實更好。但目前的Infopath,並沒有提供這個功能。一個可行的方法是,通過一些後臺程式碼來做這樣的事情,但是其實我們也不是很推薦在Infopath裡面多寫程式碼的,老實說會很麻煩。所以,這個問題暫時就不展開了