cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
Shanescows
Super User
Super User

How do you determine if Pen Input is blank?

I want to have a pen input to collect a signature and I only want to show the user the submit button after they have signed the form. 

 

How do I check if they have scribbled something in the box or not?

 

Thanks

 


Shane

Shane - Microsoft MVP, YouTube, and PowerApps Consulting for when you are in a bind to get this fixed quickly. And finally we now have PowerApps Training
28 REPLIES 28

No, I never found a solution. Did that recently mentioned workaround work? If so, how? What was different?

Hi @grahampasmurf 

@seadude's solution works for me (well done seadude!).

The OnVisible property of the screen sets the following 2 variables:

Set(varInitialPenInput, PenInput1.Image);
Set(varPenInput, PenInput1.Image)

The OnSelect property of the pen input control sets the varPenInput variable.

Set(varPenInput, PenInput1.Image)

To check for changes, you can compare varInitialPenInput against varPenInput.

If(varInitialPenInput <> varPenInput, 
"Yes it has",
"No it hasn't"
)

 

Okay, now I see the difference. I was setting the variables at OnVisible, but I did not see the step about updating the variable at OnSelect.

 

That will work but there is 1 catch. If the user clicks the X to "reset" the image back to blank, it will allow the user to save a blank image. I will see if there is a way to prevent that.

Okay, it works now with a nested If statement on DisplayMode

 

If(varInitialPenInput <> varPenInput, If(varPenInput = PenInput1.Image, DisplayMode.Edit, DisplayMode.Disabled), DisplayMode.Disabled)

After it compares to make sure the initial image is not the same as the "after" image, it also checks to make sure the current value of the image is the same as the "after" image (because current value of the image (PenInput1.Image) will change when the X "reset" is selected, but the OnSelect code does not run when that happens, so that will make the values different and it should be disabled).

MattyH
Continued Contributor
Continued Contributor

Thanks to you all, I am creating a Powerapp with a signature requirement for the first time, and this has answered every question I had!

juresti
Continued Contributor
Continued Contributor

This is the only working method for me for Power Apps online.

 

I have a clear signature button in case the signature is not as expected.

 

At the time of clear I have to also collect a new blank image to compare against blank since resetting the pen input will create a new image with a different "ID".

newbie101
Frequent Visitor

Thanks for the solutions above. Here is a simpler solution. 

 

  1. For App, onStart = Set(varBlank, true)
  2. For PenInput1 control,
    1. ShowControls = false
    2. onSelect =  Set(varBlank, false)
  3. Add a button on top of PenInput1 control, onSelect = Reset(PenInput1); Set(varBlank, true)
IvySoe
Frequent Visitor

It works for me! Thanks.

Thanks to everyone in this thread.  @newbie101 proves that you never want to go with the first solution: once the ideas start flowing, solutions get posted, and folks much smarter than myself start digging deep into a problem, sometimes an easier or more elegant way to accomplish the same thing is discovered and shared.  Great work by all, thanks!

Helpful resources

Announcements
UG GA Amplification 768x460.png

Launching new user group features

Learn how to create your own user groups today!

Community Connections 768x460.jpg

Community & How To Videos

Check out the new Power Platform Community Connections gallery!

M365 768x460.jpg

Microsoft 365 Collaboration Conference | December 7–9, 2021

Join us, in-person, December 7–9 in Las Vegas, for the largest gathering of the Microsoft community in the world.

Top Solution Authors
Top Kudoed Authors
Users online (1,799)