Thứ Tư, 12 tháng 8, 2009

InfoPath: Custom save form using JScript

Đôi khi chúng ta cần save InfoPath file dưới một tên và folder đã được định sẵn. Bài viết này hướng dẫn các ban làm điều đó.

1. Mở InfoPath để thiết kế 1 form với một textbox control

2. Vào Tools –> Form Options và chọn “Save using custom code” và click on “Edit…” button

   1: function XDocument::OnSaveRequest(eventObj)
   2: {
   3:     try
   4:      {
   5:         //XDocument.UI.SetSaveAsDialogLocation("\\my\form\directory")
   6:         XDocument.UI.SetSaveAsDialogLocation("C:\\")
   7:         var strFileName = XDocument.DOM.selectSingleNode("/my:myFields/my:field1").text + ".xml"; 
   8:         XDocument.UI.SetSaveAsDialogFileName(strFileName);
   9:         eventObj.IsCancelled = eventObj.PerformSaveOperation();
  10:         eventObj.ReturnStatus = true;
  11:      } 
  12:      catch(e)
  13:      {
  14:         XDocument.UI.Alert("Error at OnSaveRequest: " + e.message);
  15:         eventObj.ReturnStatus = false;
  16:      }  
  17: }

3. Save Infopath form. Chúng ta có thể sẵn sàng test.


Comments




Dũng Nguyễn - 11/3/2009 9:21:05 AM
Anh Quang ơi cái này đâu có hỗ trợ cho browser forms đâu. Anh có đoạn code nào về save file infopath hỗ trợ browser forms không ạ.


Bư béo ™ - 2/23/2010 10:55:02 AM
anh ơi em ko hiểu, em mà sử dụng code thì nó ko hỗ trợ browser form:(. anh ơi có cách nào giúp em với ko ạ?


Quang Nguyen Ba - 2/27/2010 4:42:29 PM
Với browser form thì thường chúng ta sẽ save vào SharePoint List. Bài viết này áp dụng cho Offline form. Mục tiêu là giải quyết vấn đề tự động Save với các form offline mà không cần chọn Save Target folder. Như vậy việc nhập dữ liệu hàng loạt sẽ nhanh hơn.
Với code này, anh chưa thử với Browser Form, tuy nhiên anh tinh là sẽ sử dụng được. Tuy nhiên khác một điều là nó sẽ save lên thư mục trên Server deploy InfoPath Service


Quang Nguyen Ba - 2/27/2010 4:44:06 PM
Để dùng được code với Browser Form thì chúng ta cần deploy InfoPath dưới dạng Trusted. Nếu deploy lên MOSS 2007 thì deployment phải được quản lý bởi Central Administration

Không có nhận xét nào:

Đăng nhận xét