cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
Anonymous
Not applicable

Disable submit button

Dear Team,

 

I am building an evaluation application where my team can evaluate each one of us, this application cosist of 3 screens to evaluate analyst in different areas. However, I am stuck with this issue. I want my application not to be able to submit when not all the dropdown in gallery are selected. The data source of this application is sharepoint list, and here are the codes used for submit button on select button I use this:

ForAll( Gallery2.AllItems, Patch( SharePointList, Defaults(SharePointList), { CommunicationSkills: Dropdown3.Selected, EvaluatedPerson: Nameuser, EvaluatePerson: User().FullName, Title: communicationlabel.Text, Quartertype: "Q3 2020" } ) );Notify( "Communicationl Skill Evaluation Has been Successfully Submitted", Success ); Navigate( 'Support Screen', ScreenTransition.Fade, {error1_v: false} );

 

Then I followed this article https://powerusers.microsoft.com/t5/Building-Power-Apps/Make-button-visible-using-Validation-in-Powe...

on visibile I used If(IsBlank(Dropdown3.Selected)||Dropdown3.Selected.Value="Red",true,false) and

Display mode If(IsBlank(Dropdown3.Selected)||Dropdown3.Selected.Value="Red",DisplayMode.Disabled,DisplayMode.Edit)

I also Followed https://powerusers.microsoft.com/t5/Building-Power-Apps/Disabling-submit-button/m-p/177010#M58692 

Unfortunately, it didnt work

 

Thank you 

Aminah 

 

I have been doing a lot of research to disable the button when any of dropdown is blank or change the border of unselected dropdown to a red color

8 REPLIES 8
WarrenBelz
Super User
Super User

Hi @Anonymous ,

Firstly in your Patch code, you have a user-entered value in Dropdown3. I am assuming CommunicationLabel is not user-entered? You have however mentioned dropdowns - what are the others?

Apart from this you do not need both of the codes (Visible and DisplayMode)  - you either make the button not visible or disabled - you have mentioned disabled, so I will go with that one. I am also assuming you want the control disabled until something is selected in the drop-down other than Red? Your code

If(
   IsBlank(Dropdown3.Selected.Value)||
   Dropdown3.Selected.Value="Red",
   DisplayMode.Disabled,
   DisplayMode.Edit
)

will do exactly that (note I have added Value to the first part) - so you need to delete (as mentioned above) the Visible code and change it to true.

You mentioned changing the border colour to Red. If you simply want it red until completed, put this on the BorderColor

If(
   IsBlank(Dropdown3.Selected.Value)||
   Dropdown3.Selected.Value="Red",
   Red,
   Parent.BorderColor
)

 

Please click Accept as solution if my post helped you solve your issue. This will help others find it more readily. It also closes the item. If the content was useful in other ways, please consider giving it Thumbs Up.

 

 

Anonymous
Not applicable

Hi @WarrenBelz 

 

 Thank you for the reply User only can enter one evaluation in term of drop down in each page.

There is one drop down only which is different than the other screens. 

User names and pictures are imported from sharepoint list to a gallery and in this gallery I added the dropdown.  I have tried both of suggested codes, it worked only in the second and third screen (I can see borders are red when empty and submit is grayed out).

Borders are perfectly red for second and third screen, Thanks

Should I change anything for the border and submit button to work for the first page?

However, for submit button,when I evaluate one user in the gallery I was able to click on submit button .

Is it possible to disable submit button until dropdown entered by user for all  records in the gallery are evaluated ?

Thank you

Aminah

Hi @Anonymous ,

If you give me the names of the other controls and what type they are, I can give you the code.

I will be offline shortly due to timezone, but will pick it up in the morning.

Hi @Anonymous ,

Just checking if you got the result you were looking for on this thread. Happy to help further if not.

Please click Accept as solution if my post helped you solve your issue. This will help others find it more readily. It also closes the item. If the content was useful in other ways, please consider giving it Thumbs Up.

Anonymous
Not applicable

Hi @WarrenBelz 

 

 

Morning to you, as requested, here is the controls for first screen, where disable the submit button and red border does not work correctly 

 

for  OnSellect (submit)

atopa_0-1592811438930.png

 
 

s.JPGs2.JPGs3.JPG

 

 

for  Dropdown(submit)

d1.JPGd2.JPGd3.JPGd4.JPG

 

 

I can see that submit bottom is not disabled neither the border color is red 

For screen 2, 3 , its enabled 

 

for  OnSellect (submit)

n1.JPGn2.JPGn3.JPG

for dropdown in screen 1, BorderColor 

I

Screen 2, 3 , submit button  worked partially 

it disabled when none is selected. However, when I i select value for one record in the gallery, the submit button is enable and I can click on it

Is it possible to disable submit button until all records in the gallery is selected ?

Ps.

-Records is imported from SharePoint list showing  name and picture of analysts 

-dropdown items is  [" ","3","2","1"]

-User can input 1 value for every analyst in the record 

      

 

Thank you 

Aminah 

Hi @Anonymous ,

I missed you post, but I do not need all of that - way too much information to sort through. I just need the names of the controls that you want to ensure are completed, their data type and in the case of drop-downs, the Items property.

Anonymous
Not applicable

Hi @WarrenBelz 

 

Thank you for replying
The border issue for the first screen was solved finally. However, I am still
stuck with (disable submit Button until all records are evaluated).

 

I have 11 records to be evaluated- they are records stored in SharePoint-, however, if I evaluate one analyst the submit button
is enabled,until I move to the next record to evaluate it toggles back to be disabled

appp.JPG

 

I want to make the submit button disabled until all records in gallery are selected. 
Note: only one input which is drop down for communication skills.


for Submit button here is the control
visioble:IsEmpty(Filter(Gallery2.AllItems,IsBlank(Dropdowcom.SelectedText)))
OnSelect: ForAll(
Gallery2.AllItems,
Patch(
Clientduplicate,
Defaults(Clientduplicate),
{
CommunicationSkills: Dropdowncom.Selected,
EvaluatedPerson: Nameuser,
EvaluatePerson: User().FullName,
Title: communicationlabel.Text,Quartertype: quarter.SelectedText.Value

}
)

);Notify(
"Communicationl Skill Evaluation Has been Successfully Submitted",
Success
);
Navigate(
'Support Screen',
ScreenTransition.Fade,
{error1_v: false}
)


DisplayMode:If(
IsBlank(Dropdowcom.Selected.Value)||
Dropdowcom.Selected.Value="Red",
DisplayMode.Disabled,
DisplayMode.Edit
)

 

I tried to set a global variable on the communication screen as alternative solution 
OnVisible :Set(communicationFilledAnalysts, 0);

Also, have changed the code for OnSelect for Submit :
If(
communicationFilledAnalysts <> 11,
Notify(
"Please fill all the assesemts ",
Error
),
ForAll(
Gallery2.AllItems,
Patch(
Clientduplicate,
Defaults(Clientduplicate),
{
CommunicationSkills: Dropdowncom.Selected,
EvaluatedPerson: Nameuser,
EvaluatePerson: User().FullName,
Title: communicationlabel.Text,Quartertype: quarter.SelectedText.Value

}
)

);Notify(
"Communicationl Skill Evaluation Has been Successfully Submitted",
Success
);
Navigate(
'Support Screen',
ScreenTransition.Fade,
{error1_v: false}
)
)


The puzzle is to notify the user that he did not evaluate all analysts so he cannot submit until all records in the gallery are evaluated either achieving this target by disabling the submit button or notifying user if he clicks on submit that he cannot submit until all records are evaluated 
Both trials fails
Please advise the best solution

@Anonymous ,

Can we please try and "uncomplicate" this a bit. I was firstly assuming you had a form - it now appears that this input medium is a gallery?

Your original question was around disabling a button until all relevant fields had been submitted, hence my question on control types etc as you would simply test for the existence of input in each and then if any failed, not submit. You have a whole new level of complication if you have a gallery with individual items and then are trying to establish all have been actioned - you will need a flag and counter of some sort. Please confirm the structure of the testing data.

Helpful resources

Announcements
Power Apps News & Annoucements carousel

Power Apps News & Announcements

Keep up to date with current events and community announcements in the Power Apps community.

Community Call Conversations

Introducing the Community Calls Conversations

A great place where you can stay up to date with community calls and interact with the speakers.

Power Apps Community Blog Carousel

Power Apps Community Blog

Check out the latest Community Blog from the community!

Top Solution Authors
Top Kudoed Authors
Users online (3,381)