Disable the Next Button Until Learners Finish Interacting with a Slide

Hi,

I have found this as an old discussion in Storyline 1 and I wonder if the logic has been updated for Storyline 2?

We have had problems with users navigating back a screen and when they click 'next' to take them to the screen they were on, that they are able to proceed without clicking on all the mandatory interactive elements. The next button is disabled/hidden on first view until all the elements are clicked on, but when the slide is visited a second time, the next button is visible automatically.

The only foolproof way we seem to be able to stop this is using this logic:

https://articulate.com/support/article/how-to-disable-the-next-button-until-users-finish-interacting-with-a-slide

But this seems quite complicated for something that doesn't feel it should be so difficult!

Thanks,
Lindsey

13 Replies
Wendy Farmer

Hi Lindsey

see attached sample if this is what you are after. Only coded triggers on Slide 1. You click the button, text displays, then the next button doesn't change to normal until timeline ends and the button = visited state.

Check if your slide properties revisit option is set to 'reset to initial' state as mine is.

Lindsey Hillman

I've attached a test example of the file that we have been using to illustrate my point better...

Slide 2, 4 and 5 have interactive elements.

Slide 2 we would want to reset to initial, but we would want the tabs in slide 4 and 5 to go to the saved state so that the user can see what they have done and don't have to re-do it.

If you go through the course normally to slide 3 and then back to slide 2, the next button is disabled, even though the user has already visited the slide.

If you click through normally until slide 4, click on everything, then go to slide 5, and back to slide 4, then the next button is disabled again, even though all the elements are visited.

So it seems that it doesn't matter whether the slide is set to initial or saved state, but either way you get stuck in a loop.

Another user Dave Cox kindly helped me to get out of this loop by using variables and having the slide count to X on the first visit, but then the next button is visible on the second view without all the items being clicked on.

I've stripped out all the code and variables from this file attached.

Wendy Farmer

Sorry Lindsey

think I'm confused.

  • You want the Next button to be disabled regardless of how many times the user visits the slide.
  • Slide 4 - If they have clicked on tabs (changed to visited state) you want the tabs to be in a visited state on revisit but the next button disabled? If so are you expecting the user to know to click all the tabs again in order for the next button to be enabled so they can progress
Lindsey Hillman

Thank you for your time on this, however, it's not quite what we are after.

If you are in slide 4, then go back to 3 (before you have clicked on all the buttons), and then back to 4, the Next button is visible even if all the buttons have not been marked as visited.

The user should still have to click on everything before the next button is visible...

Lindsey Hillman

Hi Wendy,

That worked perfectly on slide 4!

I can obviously work through the variables and coding, but can you explain the logic please?

Will this work (presuming it's using variables) for multiple slides, or will I need a new variable name for each slide where this is required?

Thank you,

Lindsey

Wendy Farmer

Hi Lindsey

so glad that will work for your project.

Correct you will need a T/F variable for each slide where this interaction type appears - that's what I recommend.

You could use the same variable and keep resetting it but I find that can get messy and hard to troubleshoot when it's used in a lot of places throughout the project.

Logic:

Regardless of the order the user clicks the tabs, the variable is triggered from false to true only when the state of all 5 tabs are visited.  So if they click tab 1 and tab 2, the variable remains false and subsequently so does the Next button.

We know the tabs are visited when a layer is displayed so the trigger to change the variable sits on all layers and then there are triggers on the base layer to control whether the Next button is Disabled or Normal.

Hope that makes sense - shout out if you have issues and good luck with your project.

Lindsey Hillman

We had similar logic in previous attempts, but only on the main slide, and not the layers, this I think is the key...

I will have a play with the other slides to fully understand how to program it - I have a project on the go that requires this logic as well so you have really helped.

I do think it is still a lot of coding for something that isn't that complicated, but I really appreciate your time helping!

Lindsey