Solved

Skip pages in multi page form based on multi-select choice field?


Userlevel 5
Badge +13

So, following along with this tutorial: How to design a Multi-Step form with Nintex Forms for Office 365 , I got pretty far on my multi-page form! But, I want to show certain pages conditionally, which led me to this question: Skip pages in a multi-step form . 

 

My case is slightly different, however, as I'm not checking exactly a checkbox status, I'm seeing if a checkbox is checked in a multi-select choice control. As I'm AWFUL at Javascript (read: useless) I'm a bit stuck. I found this comment from Sean Fiene‌, https://community.nintex.com/message/25778#comment-26033  about identifying the multi-select checkbox bits, and I got his "showMe" function to work great, but I guess I'm stuck on putting the puzzle pieces together.

 

Right now my form looks a bit like this:

200727_pastedImage_4.png

 

The "IT Request Information" should only show if "IT Request" is checked, and there are other panels that are the same way (ex there's a panel for "Mobile Device" and "Employee Transfer TO your team" etc). 

 

If anyone could also tell me, how to auto-check "IT Request" and "Facilities Access Request" if the user checks "New Hire," and not let them uncheck it, that'd be great. Or if there's a better way to force them to fill out those bits of the form if they select New Hire, that's fine too.

 

The final piece here is making sure they fill out each piece of the panels they're shown (not letting them advance "next" unless they've filled out all the parts of that panel). 

 

Whew! That's a lot. But this is my first Javascript adventure, so any help at all would be amazing!

 

Perhaps ‌, ‌, or ‌ can help this poor noob out?

icon

Best answer by courtney_shelto 14 March 2017, 22:35

View original

27 replies

Userlevel 5
Badge +13

Hey Thomas,

Perhaps I've done something incorrectly, as it's not working for me:

I was able to get an actual value by storing client ID in javascript variable and then .val() that, but then I'm not sure how to translate that back into changing the css of the field and highlighting it in red. Also, even though it gets a value, it didn't advance the page (though I can see in the logging that valid = true).

Badge +5

Sorry for super late reply. Just got back from holiday. You may have already found a solution for this. 

The one other thing i can see i missed out the return statement for validLandingPage. 

The best way to debug is to bring up developer tool by hitting F12 and set breakpoints so you can see where it has failed. Let me know how you go.

function validateLandingPage()
{
  var validLandingPage=true;
 
     if(!validateText(".mandatoryTextControl_1"))
     {
          validLandingPage=false;
     }
    
     if(!validateText(".mandatoryTextControl_2"))
     {
          validLandingPage=false;
     }
    
     //Insert all other mandatory controls for this page
     return validaLandingPage;
}‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍

Reply