Custom Results Screen after Diagnostic Quiz

Hello Articulate Community,

I've been working a diagnostic course and am having trouble with the last bit, a custom results screen that displays when the users don't pass all of the modules. At this point, I've been looking at it for weeks, and I feel I could be overthinking it and missing an easy solution at this point.

I've attached the file, and included a bit more info below:

It begins with a diagnostic:

4 Groups - 3 Questions in each group

If learner answers all questions in a question group correctly, the results screen shows that module is passed.

If the learner does not answer all questions in a group correctly, they are required to take the training for that group and pass a post-test.

After they attempt/pass all four modules, I've design a layer to popup that informs the learner that they've passed all modules.

If they don't pass all modules, but have attempted all four, I've designed a layer to popup that informs the learner they've attempted but haven't passed the course.

Where I am having trouble is if they don't pass all modules. Let's say they pass modules 1, 2, and 3, but fail module 4. I'm having trouble constructing a trigger that will pop up after they've attempted all modules, but haven't passed them all. So far the options I've come up with will automatically pop up after they attempt a module and leave one module unattempted. It seems that the trouble is that I can't make if/and statements with the trigger. Is this possible with JavaScript.

Could anyone provide any feedback about what trigger/code I can use to get the final pop up layer to pop up?

I've attached the file here, just in case. 

Also, I've attached a link to the live version on Review360, if you'd like to try it:


4 Replies
Joanne Chen

Hi Allie,

The easiest way to fix your problem might be setting a trigger to show the COMPLETE ALL LAYER when all the post quizzes were done. And add a trigger to the layer to show the PASS ALL LAYER if users pass all the quiz. So if users pass the course, it will trigger the COMPLETE ALL LAYER first and then close the layer immediately while showing the PASS ALL LAYER.

Allie Elearning

Hi Joanne,

Thank you for the reply, but unfortunately this solution doesn't work.

The first part of the eLearning is a diagnostic, which allows learners to "test out" of some or all of the modules, so not everyone will take all the quizzes. Here is an example:

Tim takes diagnostic and tests out of all module 1. He is then required to take modules 2,3 and 4. He takes them all and passes the quiz at the end. In this case the Complete All layer would not show because the learner did not take the quiz for Module 1. I have tried to make some sort of statement for the variable that if the learner tests out of module 1 or passes the quiz in module 1 the complete all layer will show, but it doesn't. 

Is there a different way to combine both statements, so the complete all layer will show in all cases?

Joanne Chen

Hi Allie,

In your files you have G1-G4 Psss shown when users pass G1-G4 pre-test or post test. So I suggest you use the same criteria ie. the state of G1-G4 to identify which layer to show to reduce the risk of logical conflict. And you can still use the method I mentioned.

  1. Show the PASS ALL LAYER if state of G1-G4 Pass are normal. So no matter when users pass the group phase it will show the PASS ALL LAYER.
  2. Show the COMPLETE ALL LAYER if Viewed Q1-Q4 are Ture. And add the same trigger of above(1) in this layer.

Well, now you need to tell the system that although users do not take some of the post-test(eg. module 1) but they do pass the pre-test already. So just tell the system that when a state of G Pass is normal the related variable Viewed Q should be true. 

  • Add four triggers to state variables Viewed Q1-Q4 to be True if G1-G4 Pass are normal. 

I also attached the story file for you to take a look and test.