How can I use InfoPath 2013 with SharePoint 2013 to upload a document when the user submits the form? - sharepoint-2013

Background: I want to make a form in SharePoint for the user to submit vendor information. They fill out the form and attach a document with products and pricing. I can't figure out how to make a form that I can publish to SharePoint to do this. When I use InfoPath's file attachment it fails to publish. I tried using info from this link here but I'm not sure that it's actually a SharePoint form instead of a standard form.
My solution doesn't need to use the attachment I just want users to be able to easily submit the form with the attachment at the same time.
P.s. Sorry if my question is bad. First time using SharePoint, InfoPath, and posting here. Thanks in advance.

Any list that supports attachments should allow you to add an InfoPath form control for that field which will allow the users to add the attachment as part of the form submittal.

Related

Infopath Sharepoint forms

I have been given a simple task of creating a sharepoint form, collect few information, Make and API call, do some calculation using response from API and the original input and show results on the page.
I don’t have much experience in working with sharepoint or infopath. I have been told that infopath is the way to achieve this
Can someone suggest what’s the best way to achieve this ?
Can we use JS in infopath ? Or is it only c# ?
FYI:- power apps is not an option due to legacy platforms
SharePoint has out-of-box features to implement your logic to collect data from user. It is out-of-box list and its list items. On list item creating you have out-of-box form with fields. No InfoPath required. You can add on this form some logic to implement your API calls and displaying its result. I think If I correctly understood then you can do it without any additional tools. You will need just to write code for API calls. SharePoint has also out-of-box list view. Here you can see all data collected from users.
InfoPath required if you need difficult form logic. Like I want choose value here and another value will be calculated on this value and set to another field and additionally will be formatted.

auto-populate a column in a new row in edit list mode in SharePoint 2013

I have a list that is connected to a form and filtered based upon a value in the parent form (an ID field). I want to allow the users to add new rows by directly editing the list. In doing so, I don't want to have to make the users enter in the value that already exists on the form. I can't seem to find anyway of doing this.
Example Screenshot
Are you using infopath ? I think your option is to call a web service to verify such thing. Or if you customize your form using javascript you could achieve this the same way by javascript.

Infopath 2013 Buttons

We have developed a form that is being used via SharePoint 2013. We would like the audience to be able to click on a list item to open up the InfoPath form and then when in the InfoPath form, press on the created buttons to load different views of the form and hide/show certain sections....without it being in Edit mode.
The premise being that the end user has an interactive form that is quick and easy to use upon loading.
Is there any way that a user can activate the rules applied to the buttons in Read mode or does Edit mode always have to be activated first?
Many thanks in advance for any hints or tips!
Well technically you can create a Read-Only form by making all the Pages Read-Only in their settings and use data connections to pull the data into the form fields you want.
So I would make a landing page with buttons that would change the view, run a query and set fields values that you want to display for each Read-Only page/view.

Sitecore Web Form for Marketers - create a cookie

This is a two part question.
Using Web Forms for Marketers 2.3:
Is it possible to have a cookie be created on successful submission?
Without actually exporting the ascx file, would like to keep it in Sitecore.
Second question, would it be better to have a content editor choose which item has the form or would it be better/easier to have a dropdown to pick which form is needed and then have the code determine which form to show.
Thank for any insight!!!
For the First question,
If you have Sitecore DMS, on a successful submission there is an event, and a Goal maybe you can use that, insteed of a cookie.
See https://doc.sitecore.net/sitecore%20experience%20platform/personalization/walkthrough%20personalizing%20components for using it with personalization rules the picturs are for Sitecore 8 but basically the same for Sitecore 6.5+
Programmatically you can use the Analytics API, see https://sdn.sitecore.net/upload/sitecore6/65/engagement_analytics_api_cookbook_sc65-a4.pdf for Sitecore 6. The API has changed considerably with Sitecore 7.5.
An alternative is to set the cookie on the Success page.
you can have a Success page, or a Success message in WFFM. for a message use something like this:
Thanks <script>document.cookie="formsuccess=ok";</script>

Sitecore (Web Forms for Marketers) success page

Let's imagine I've made a simple form using the Web Forms for Marketers module 2.2 (for CMS 6.4), and have set this up to use a 'success page' (server side redirect to a specified sitecore item). This works great.
Now it turns out that the thank you page needs to show certain field variables from the form which was just submitted.
"Dear x, thank you for your interest in Y".
On the success page, it seems like there is no way to retrieve the information (server-side) I need to show this information.
What would be a good way to approach this problem?
Is there a way to hook into sitecore webforms before the page is redirected to the success page (so I can pass along an orderId, for example)?
You can create a custom action which will give you access to all the forms data. From the action you can redirect the user to the appropriate place. You can find documentation on how to create a custom action in the reference guide on page 42.
Make sure your action is always after Save To Database because otherwise the data won't be saved.