There are some approaches,
- If you are using Edit Form, On success of the form check for condition and navigate accordingly.
- Using collection and hold the data and submit
Instead of submitting immediately, store the user's input in a collection (or context variable) as they fill forms.
Example (on Submit button of Screen 1):
If(
userChoosesToSubmitHere,
SubmitForm(EditForm1), // submit here
Collect(
col_FormData,
{
Title: DataCardValue1.Text,
Description: DataCardValue2.Text,
ChoiceField: Dropdown1.Selected.Value
}
);
Navigate(Screen2)
)
Submit on Next Screen (if needed)
On the final screen (Screen2), provide a button that submits the collected data (if it hasn't been submitted yet).
You can use a Patch statement if you're storing the data in a collection and now want to write it to SharePoint:
Patch(
'Your SharePoint List',
Defaults('Your SharePoint List'),
First(col_FormData) // or loop through all if needed
);
Clear(col_FormData); // optional: clear after submission
If you're using a form (EditForm2), prefill the form with the collected data using UpdateContext or Set:
UpdateContext({
ctx_Data: First(col_FormData)
});
Then bind your form’s Default properties to ctx_Data.
Optional: Use a Boolean Flag to Track Submission
To avoid double-submission, track with a flag:
Set(var_Submitted, true)
Check this flag before allowing a second submission.
🏷️ Please tag me @MS.Ragavendar if you still have any queries related to the solution or issue persists.
✅ Please click Accept as solution if my post helped you solve your issue and help others who will face the similar issue in future.
❤️ Please consider giving it a Like, If the approach was useful in other ways.