Disable the Next Button Until Learners Finish Interacting with a Slide
Feb 28, 2017
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:
But this seems quite complicated for something that doesn't feel it should be so difficult!
Thanks,
Lindsey
13 Replies
Hi Lindsey
in SL2 you can add triggers for the prev/next buttons to change their state to disabled/hidden which you couldn't do in SL1.
Hi Wendy,
Thanks for your reply.
However, we have added triggers for this already and it doesn't stop the problem of the next button being visible on the 'second' viewing of the slide before the items are clicked on.
Lindsey
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.
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.
Sorry Lindsey
think I'm confused.
I apologise for any confusion!
The user must click on every clickable item, then is allowed to proceed.
We want the tabs to show as visited once they have been clicked on (which is why the slide has to be 'resume to saved')
Hi Lindsey
i've just worked on slide 4 with the 5 tabs - let me know if that is the behaviour you are after.
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...
Hi Lindsey
see if this works how you want. I have put the variable reference on screen just for testing - you can remove it.
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
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.
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
No worries Lindsey you may discover an easier way when you are working through the slides - don't forget to share if you do 😁
This discussion is closed. You can start a new discussion or contact Articulate Support.