Skip to main content

I'm trying to setup a form where a panel is hidden until after someone selects "Yes" and selects Save. Is that possible?

Right now once I select "Yes" on the dropdown it automatically unhides the panel. I want that to stay hidden until after it's saved (as the controls within the panel will be for someone else to fill out after they're emailed a notification).

Thanks!

Hello,

Just connect the button to a backing list column and write out a value to the column (this can be done in button's configuration settings).   Next time you open the form you can hide or unhide based on this value.

Thanks

Mike


is that functionality required for new form, or for both new and edit form?


Actually only Edit form. I have a set of required fields with all my other panels hidden on "IsNewMode" in rules. The first panel is un-hid when form submitter and other required fields are completed and saved.


Hi Mike,

Thanks for the response but I'm pretty new when it comes to Nintex and SharePoint forms.

I'm not sure how to complete the process you mentioned (backing list column?). I'm in the Save button's control settings but I can't connect the dots with the rest of your comment.

Thanks in advance if you're able to dumb it down some for me.

-Ron


hm, that might be tricky...

how should it behave if one unchecks yes flag?

should it hide panel again, and and show it just when it is changed back to yes and saved?

or after it is set to yes once, it should be shown regardless of current flag status?

I'd say it might be easier to condition showing/hidding of panel by a rule like flag == yes and 'someone' who should approve is member of a specific group


What Mike Matsako means is that you can reference either the control on the form that is connected to the SharePoint List Item, OR, you can reference the value of for that column on the Item you're referencing. 

Consider the following. 

I'm going to make a new Yes/No Column for my test List. 

212141_pastedImage_1.png

If you go into the Nintex Form editor, you can find the control for that newly created column in the List Columns section. 

212142_pastedImage_2.png

Editing the control, can give it some description text as shown: 

212143_pastedImage_3.png

Now I'm going to place a Panel onto the form and give it some text:

212144_pastedImage_4.png

Afterwards, I'll put a Formatting Rule onto that Panel which will hide it. (In the picture below, I haven't yet set the conditions for how it's being hidden!):

212145_pastedImage_5.png

It is at this point that Mike's comment comes into play. You may have noticed that there are few way to reference controls when you're in the Formula Builder. Be default, the first tab that you're on is the Named Controls tab, which gives you access to the controls that are on the form itself. Essentially, they also reference the values of those controls in real-time. So, if you were to reference the 'YesNoToggle' control (as shown in the pic below), it would be referencing the value for whatever that control is currently set to. Change it from Yes to No, and the current value would be false, likewise, changing it from No to Yes would set the current value to true.

212146_pastedImage_6.png

Instead what you'd like to actually do is reference the value of that particular column (YesNoToggle) from the current item. You can do this by switching over to the Item Properties tab. Because the panel should be hidden when the value of that column is not true (Yes / Checked), and because a checked Yes / No control equals true, all we need to do to get this rule to work is 'invert' the value of whatever it currently is by putting an exclamation mark infront of the reference column value, as shown:

212147_pastedImage_7.png

212148_pastedImage_8.png

Now if we Publish the Form, Create a New Item, and Toggle the control, the Panel will stay hidden! 

212149_pastedImage_9.png

Saving the Item creates a New Item with a Yes / No column value to whatever we set it as:


212153_pastedImage_10.png

In the case of this Example, we set the value to Yes. Editing the Item, we NOW see our panel because the Column value on the Item has been set to Yes!:


212154_pastedImage_11.png

For extra credit and safety, you could also put a rule onto the Yes / No control that would prevent people from messing with the Toggle control if the Form was in Edit Mode, and the Value of the COLUMN was set to Yes / true. 

212155_pastedImage_12.png

212156_pastedImage_13.png

I hope that this helps you to solve this problem, though it may not solve all of the particularities of your environment. 


Hello,

Let me start by saying thanks for how much time and effort you put into walking me through that process. I really do appreciate it. While I didn't go with this exact process, it did get me thinking about setting it up how I have the email notifications going out.

If anyone else encounters this in the future, below are the steps I took. While I'm not sure if it's the most efficient way to implement it, this process works for me:

  • Dropdown for Yes or No (Yes should trigger opening/viewing the next/rest of the panel form AFTER the save)
  • Setup a new dropdown that will be "hidden" at all times in the form.
    • Control Settings -> Appearance -> Visible = No
  • Setup a workflow beginning with RunIf for when the visible Yes/No dropdown is Yes, populate the not visible to be Yes.
  • Setup a rule for hiding the next panel when not visible is No.

So when running through the process, new form created with only the first bunch of controls including the Yes/No at the end. User selects Yes, page stays the same, they click Save/Submit. In the background, the workflow runs, sees the Yes in the visible drop down, changes the non-visible dropdown to Yes. That then kicks off the rule as because the not-visible is now showing Yes, it will show the panel.

Again, probably not the best/most efficient approach, but it does work for what I'm looking for. This was the same sort of approach I had to set up so as to send only one notification email instead of an email every time someone saved the form.


Hi Ron, 

 

I was in need of a similar functionality and I did the following (if you want them to be able to create "drafts"...):

  • I added a choice control (named control: "control_FormStatus" to my form "Draft, Submitted" - connected it to a field with the same values on my list.
  • Included a rule to disable the control_FormStatus when field value of the connected field equals "submitted" (but it remains shown, you could also hide it depending on business requirements).
  • The field(s)/panel that should only be shown when saved and not on new form, you add a rule to them. 
    • E.g. Show when And(not(IsNewForm()),fieldnamewithstatus=='Submitted').

If you have a workflow as well, you could only let it initiate when the status is submitted.

Good luck. 

Glenda


Is the YesNoToggle available on for Responsive Forms in O365?


Reply