basquang™ on clouds

August 12, 2009

InfoPath: Custom save form using JScript

Filed under: InfoPath — basquang @ 11:10 AM

Đô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.

Advertisements

6 Comments »

  1. 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 ạ.

    Comment by Dũng — November 3, 2009 @ 3:21 AM | Reply

  2. 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 ạ?

    Comment by Bư béo — February 23, 2010 @ 4:55 AM | Reply

  3. 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

    Comment by Quang — February 27, 2010 @ 10:42 AM | Reply

  4. Để 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

    Comment by Quang — February 27, 2010 @ 10:44 AM | Reply

  5. Please help to create a button that delet all feild was writted (Clear Button )

    can provide us a code that delete all feild was written on one click ???

    Comment by Hassib — March 14, 2012 @ 11:36 PM | Reply

  6. Bác Quang ơi, bác giúp tôi viết 1 bài hướng dẫn cách đẩy 1 form infopath lên SharePoint và đặt tên file tự động khi nhập liệu. Tôi đang cần cái này quá mà chưa biết làm thế nào. Cám ơn bác nhiều

    Comment by MaiThanh — June 25, 2013 @ 9:59 AM | Reply


RSS feed for comments on this post. TrackBack URI

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Blog at WordPress.com.

%d bloggers like this: