In Microsoft Office InfoPath, you cannot submit form data to a Microsoft Windows SharePoint Services document library directly. This article describes how to design a form template that uses script to submit form data to a Windows SharePoint Services document library.
In InfoPath, you can submit the form data to a Windows SharePoint Services document library directly by using the UI. This article contains the steps that you have to use to do this.
Submit the form data to a SharePoint Services document library
You can use script or the UI to submit the form data to the SharePoint Services document library.
Use script to submit the form data to a SharePoint Services document library in InfoPath 2003
On the Tools menu, click Submitting Forms.
The Submitting Forms dialog box appears.
In the Submitting Forms dialog box, click Enable Submit.
In the Submit box, click Submit Using Custom Script.
Click Open Microsoft Script Editor, and then click OK.
Microsoft Script Editor starts.
Modify the OnSubmitRequest event as follows.
Note You must change the value of the strURL variable to a valid URL in the code. The URL in the following code sample references a server that is named ServerName, a SharePoint site that is named SiteName, and a document library that is named DocumentLibraryName.
function XDocument::OnSubmitRequest(eventObj)
{
// If the submit operation is successful, set
// eventObj.ReturnStatus = true.
var fSuccessful = false;
// Set the URL of the file that you want to submit here.
var strUrl = "http://ServerName/SiteName/DocumentLibraryName/testform.xml";
try
{
// Create an xmlhttp object.
var oXmlHttp = new ActiveXObject("MSXML2.XMLHTTP");
// See whether the document with the same name already exists in the Windows SharePoint Services (WSS) document library.
oXmlHttp.Open("HEAD", strUrl, false);
oXmlHttp.Send();
// No document with the URL has been found. Continue to submit.
// If you must replace the original file, you must call
// oXmlHttp.Open("DELETE", strUrl, false) to delete the document
// in the WSS document library.
if (oXmlHttp.Status == 404)
{
// Put the document in the WSS document library.
oXmlHttp.Open("PUT", strUrl, false);
oXmlHttp.Send(XDocument.DOM.xml);
// A 200 status code or a 201 status code indicates that the form has been submitted successfully.
if (oXmlHttp.Status == 200 || oXmlHttp.Status == 201)
{
fSuccessful = true;
}
}
}
catch (ex){}
if (fSuccessful)
{
XDocument.UI.Alert("Document submitted successfully.");
eventObj.ReturnStatus = true;
}
else
{
eventObj.ReturnStatus = false;
}
}
Save the script. Close Script Editor.
Save your form template as SubmitToWSS.xsn.
Use the UI to submit the form data to a SharePoint Services document library in InfoPath 2003 Service Pack 1
On the Tools menu, click Submitting Forms.
The Submitting Forms dialog box appears.
In the Submitting Forms dialog box, click Enable Submit commands and buttons.
In the Submit to section, click SharePoint form library.
In the Submitting Forms dialog box, click Add.
The Data Connection Wizard starts.
Input your SharePoint Services form library link in the SharePoint form library box.
Your library link may look similar to the following:
http://ServerName/SiteName/DocumentLibraryName
Type the document name in the File name box.
You can use a document name such as TestForm.
Click Next.
In the Data Connection Wizard, click Finish.
In the Submitting Forms dialog box, Click OK.
Save your form template as "SubmitToWSS.xsn."
Use the UI to submit the form data to a SharePoint Services document library in InfoPath 2007
On the Tools menu, click Submit Options.
The Submit Options dialog box appears.
In the Submit Options dialog box, click Allow users to submit this form.
Click to select the Send form data to a single destination check box.
In the drop-down list, click SharePoint Document Library.
In the Submit Options dialog box, click Add.
The Data Connection Wizard starts.
Type your SharePoint document library link in the Document Library box.
Your document library link may resemble the following:
http://ServerName/SiteName/DocumentLibraryName
Type the document name in the File name box.
You can use a document name such as TestForm.
Click Next.
In the Enter a name for this data connection box, type a name for this data connection.
For more information about how to obtain the latest service pack for Microsoft Office, click the following article number to view the article in the Microsoft Knowledge Base:
870924
(http://support.microsoft.com/kb/870924/
)
How to obtain the latest service pack for Office 2003
For more information about how to script with InfoPath 2003 forms, click the following article numbers to view the articles in the Microsoft Knowledge Base:
828853
(http://support.microsoft.com/kb/828853/
)
How to change the script language for your InfoPath form
827002
(http://support.microsoft.com/kb/827002/
)
How to debug a script for a Microsoft Office InfoPath 2003 Form