如何給Infopath表單儲存時自動命名和自動關閉

weixin_34219944發表於2011-11-14

這是課程中的一個小問題和例子,分享出來給更多朋友參考

問題:

預設情況下,我們在SharePoint中通過Forms Service填寫Infopath表單的時候,當我們點選了“Save”選單項,會彈出一個對話方塊來,這裡我們需要輸入一個File Name。如下圖所示

image

但問題就在於這裡,使用者輸入這個名稱顯然不是很方便的,而且容易造成重複

另外一個問題就是,上圖中,我們必須Save完後,還要點選Close按鈕,表單才會關閉。那麼有沒有什麼辦法改善這一點呢?

 

 

解決方案:自定義提交

我給出的解決方案就是不使用標準的Save功能,而是自定義提交功能。

 

第一步:定義提交選項

點選下圖中的Submit Options

image

啟用提交,並且選擇傳送到SharePoint document Library

image

點選Add按鈕,在下面的對話方塊中,定義目標列表庫,以及檔名的格式。我這裡定義個檔名包含三部分:它們用一個concat函式連線起來。

1. Order Form ,這是固定的

2. userName(),這是一個函式,返回當前使用者名稱

3. now(), 這是一個函式,返回當前時間

image

點選“Next”,給這個連線儲存一個名稱

image

image

 

第二步:顯示提交選單,隱藏預設的儲存選單

開啟表單選項

image

確認以下選項

image

 

完成如上設定之後,就可以到瀏覽器中看看效果了

image

點選“Submit”選單,表單會被自動關閉,而且會有一個預設的名稱,根據當前使用者和時間

image

 

 

總結

通過簡單的配置,我們確實可以實現自動命名和關閉表單。這個解決方案唯一的問題就是,它的目標文件庫是設定為固定的,如下圖所示

image

也就是說,這是固定傳送到某個文件庫的,目前沒有什麼簡單的配置方式實現自動傳送到當前文件庫。

為什麼會有這個問題,因為Infopath表單說到底是一個內容型別,它應該是要能複用在不同的表單庫才對,有的朋友可能會說,最好是能根據當前使用該表單模板的表單庫位置自動儲存是否更好。當然,在某些情況下,那樣確實更好。但目前的Infopath,並沒有提供這個功能。一個可行的方法是,通過一些後臺程式碼來做這樣的事情,但是其實我們也不是很推薦在Infopath裡面多寫程式碼的,老實說會很麻煩。所以,這個問題暫時就不展開了

相關文章