web
You’re offline. This is a read only version of the page.
close
Skip to main content

Announcements

News and Announcements icon
Community site session details

Community site session details

Session Id :
Power Platform Community / Forums / Power Apps / ResetForm() not working
Power Apps
Unanswered

ResetForm() not working

(2) ShareShare
ReportReport
Posted on by Microsoft Employee

I'm having some trouble with a SharePoint form created with PowerApps

 

The form is working fine in every respect, except for clearing the form of previous values when opening a new form.  It would appear that ResetForm() isn't working correcty.

 

My research tells me to add a ResetForm() command in the OnSuccess action:

 

test.jpg

 

Even though this is set correctly, I still see previous values when opening a new form.

 

Is anyone else seeing this?  Is this incorrect placement?

Categories:
I have the same question (0)
  • dinusc Profile Picture
    Microsoft Employee on at

    Hello Matt,

     

    Is this something that happens with a specific applciation? For example, if you create a brand new application (File/New/Start with your data) out of your SharePoint list, does the same problem show up there?

    Please note that if ou have any default values configured for your SharePoint fields then those values will be set automatically on resettting a form that is in the "new" mode.

  • Community Power Platform Member Profile Picture
    Microsoft Employee on at

    Yes, this is specific to one application.

     

    I'm creating a tabbed SharePoint form based on ideas presented here:  PowerApps Tabbed SharePoint Form

     

    I'm using a global variable and field values to calculate a score.  When I open a new form, values from the previous saved form will display in the fields.  

    scoring.jpg

     

    I'm not sure why ResetForm() isn't clearing the values.

  • dinusc Profile Picture
    Microsoft Employee on at

    It is hard to come up with the exact issue since I cannot reproduce this issue. I hope the ideas below will help you find the problem:

    1. Note that when a form is reset, it resets all its controls

    2. When a control is reset, it copies its default values. For example, if you have a ComboBox control that has some values in its DefaultSelectedItems property but has something else selected, the values from DefaultSelectedItems will automatically become selected on Reset

    3. If yous SharePoint form is linked to a list that has default values, those values should be populated on resetting the form.

    4. Make sure that the Form is reset after it is switched to the "New" mode and not before.

  • Community Power Platform Member Profile Picture
    Microsoft Employee on at

    This reply will be quite lengthy, so I apologize ahead of time.  🙂

     

    To zero-in on the issue, I decided to simplify the form.  I created a new list with very few columns:

     

    Title 

    Score (Number)

    Question1 (Choice)

    Question2 (Choice)

    Question3 (Choice)

     

    Choices:

    Yes

    No

    N/A

     

    I created a basic form with an extra label to display the variable value during runtime

     

    2018-06-13_13-50-32.png

     

     

     

     

     

     

     

     

     

     

     

     

     

     

    I made these changes to the form:

    ==========================================

    Created a global variable in the OnNew event:

    Set(varRunningTotal,0)

     

    Added this to the OnChange event for each Question field to calculate responses

    If(DataCardValue3.Selected.Value="Yes", Set(varRunningTotal,varRunningTotal + 1))

     

    Attempted to pull the list value into the variable in the OnEdit event, but both approaches displayed an error

    complaining of a data type mismatch2018-06-13_13-08-14.png

     

     

     

     

     

    Attempt1: Set(varRunningTotal,DataCardValue2.text)

    Attempt2: Set(varRunningTotal,Value(ThisItem.Score))

     

    Removed it for now

     

     

     

     

     

     

     

     

     

     

     

    Added this to the three events shown to reset the variable when the form closes

    Set(varRunningTotal,0)2018-06-13_13-22-29.png

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

    Added varRunningTotal to the Default property of the Score field to display the value.

    ==========================================

    The idea is that when a user selects "Yes" to any of the questions, varRunningTotal will increment by 1 and the value is saved back to the Score field

     

    When I saved and ran the form from the list, I input a simple form to give me a score of 3 and saved it. 

     

    I clicked on the list item to get into the edit form

     

    The form loads and Score initially displays as 3 and then updates to 6 by the time the form loads

    2018-06-13_13-48-50.png

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

    I have two main questions

     

    1. When loading the edit form, how to I set the variable to the stored list value for Score?
    2. What is causing the variable to persist after the form has closed?

     

    I'm pretty sure this has something to do with the way I'm handling these variables, but not sure what I'm doing wrong.  

     

    Thanks for all your help!

  • dinusc Profile Picture
    Microsoft Employee on at

    Thank you for the detailed information. I think I know what the issues are.

    1. I assume you have ComboBox controls in the cards that are bound to the 3 choices fields. If so then please note that ComboBox does not have an output property named "Text". You can get the selected value as DataCardValue2.Selected.Value in case of a choice field with "allow multiple selections=false" (which I believe is your case).

    2. The reason you get extra submits is actually because of a problem in the ComboBox control. Unfortunately, it issues the "OnChange" events even in cases when the value is updated internally and not by user interaction. The workaround for this issue would be to store the previous value and increment the "varRunningTotal" only in case the new value is "yes" and it is different from the previous value.

    Hope that heps.

  • Community Power Platform Member Profile Picture
    Microsoft Employee on at

    This is great!  

     

    Can you give me an example of the syntax to make it work?  I'm struggling with the syntax of multiple conditions and actions.  I took a stab at it, but I get errors.  🙂

     

    If((DataCardValue3.Selected.Value="Yes" And Last(DataCardValue3.SelectedItems).Value != "Yes"), Set(varRunningTotal,varRunningTotal + 1))

  • dinusc Profile Picture
    Microsoft Employee on at

    The following should work:

     

    If(DataCardValue3.Selected.Value="Yes", If(PrevValue<>"Yes", Set(varRunningTotal , varRunningTotal +1);Set(PrevValue, DataCardValue3.Selected.Value)),Set(PrevValue, DataCardValue3.Selected.Value))

    It would be good to initialize the variables (for example in Screen1.OnStart):

     

     

    Set(varRunningTotal ,0);Set(PrevValue,"")

     

     

  • Community Power Platform Member Profile Picture
    Microsoft Employee on at

    Thanks for thre great help!

     

    Unfortunately, this didn't work for me either.  It kept throwing errors.

     

    After days of struggle, I finally removed the running total feature and added a "Calculate" button on the form. It seems more stable when the calculations are done all together.  Not my most elegant solution, but it works to get the right value in the box!  🙂

     

     

    EDIT:

    I found the issue with saving back to the list was a problem of my own creation. 🙂

     

    In my many attempts to troubleshoot this issue, I tried to use a variable in the Update property. Unfortunately, I forgot to set it back. 

     

    The update field (now) correctly reads:   

    DataCardValue38.Text

     

  • jaymarzian Profile Picture
    8 on at

    Simplicity is usually the answer.    lol - had same issue and it turns out my defaults were set to Parent.Default which was a no-go if I wanted to clear the form.   Thanks!!

Under review

Thank you for your reply! To ensure a great experience for everyone, your content is awaiting approval by our Community Managers. Please check back later.

Helpful resources

Quick Links

Introducing the 2026 Season 1 community Super Users

Congratulations to our 2026 Super Users!

Kudos to our 2025 Community Spotlight Honorees

Congratulations to our 2025 community superstars!

Congratulations to the March Top 10 Community Leaders!

These are the community rock stars!

Leaderboard > Power Apps

#1
11manish Profile Picture

11manish 551

#2
WarrenBelz Profile Picture

WarrenBelz 430 Most Valuable Professional

#3
Valantis Profile Picture

Valantis 298

Last 30 days Overall leaderboard