I am trying to solve for what I will say is a fussy TEB's in my project. Like many of posted this has become more of an issue with HTML5. In my current role I am creating content to train the use of our financial systems. So my focus is software simulations.
My current situation is that on some of the screens the TEB works as designed and some they do not. Here is my workflow on a TEB.
1: Add the TEB to the slide
TEB Style Tab
2: Check the Validate User Input (old habit) does not seem to be working now
3: Add Correct entries to the Correct entries box
TEB Actions Tab
4: Check Infinite Attemps
5: Set Shortcut to Tab (This is how the user interacts with the native application)
6:Set On Focus Lost to Execute Advanced Actions (This is a shared Advanced Action used for every TEB in the project)
7: Check Failure in Display ( although this does not seem to show since I moved to HTML5)
8: Add a Text Caption and change the style that looks like the Failure Display in step 7
9: Fill in the Advanced action (See Images)
The advanced action does this:
a: Looks at the TEB variable to see what the learner entered. If the entry is correct it moves to the next slide.
b: If the entry is incorrect it diplays the failure caption created in Step 8 and then hides it.
c: the next three lines moves the playhead back so the learner can enter text again.
What I am seeing is the failure message shows most of the time on my TEB's but sometimes it does not. No matter what I do I can not get the failure to show. Now if the learner enters the correct text it moves on. The problem is if the learner enters the text incorrectly they never see the failure message instructing them to enter text again.
You do have an issue that you are resetting the v_startframe variable with the current frame so it will not back up, it will just stay where it is. If you are setting the v_startframe in an on enter action, you shouldn't need to assign it a value again.
Why do you not use the Failure message which is built in? You are always showing the same Failure caption anyway. More in:
The micro-navigation which you try will not rewind the playhead to before the pausing point of the TEB. That means that you may end up later than the pausing point. That micro-navigation workflow worked fine for SWF output but not always for HTML output. You could rewind to the first frame of the slide, for which you can store the frame number with the On Enter action of the slide.
If you don't need scoring for the TEB, which seems to be the case because you offer Infinite Attempts like for a KC slide, I could also propose an alternative by using the Scrolling Text interaction to replace the TEB. You have a lot more control in that situation.
Thanks everyone for your responses. I have taken out the "micro-navigation" as suggested. I have used another method of redisplaying the slide after TEB is entered and learner presses Tab. I am now able to see my failure messages. Liv the defualt failure message will not display. So this is why I have created a failure message. I have tested my project in HTML5 preview and all TEB's are behaving as desired. Here is the update adv action ELSE settings.
Very strange that the default Failure message is not displayed. It works fine for me, there must be a reason why it is not functional for you. Why are you now jumping to another slide or is slide 25 the slide where the TEB is sitting and you just want to replay the slide? In that case make it less specific and use:
Expression cpCmndGotoSlide = cpInfoCurrentSlide - 1
Why the need to stop triggered audio? That command works only on audio clips which are started with the Play Audio command. It looks like you have a lot more going on on that TEB slide....
Thanks for the suggestions and now all my TEB's are working as expected. The Audio is for TTS audio FYI.
A couple of questions I have but are not holding me up but I would like to know why.
1: The failure message for all of my TEB's do not show up in HTML5 preview or publish. They do show in a preview mode (F4). Hence my failure caption work around.
2: Some of my TEB's are active on slide entry with the cursor flashing. Some TEB's are not and I have to select the TEB to get the flashing cursor. All of my TEB slides have the TEB at the top of the timeline. Not sure why some are active and some are not.
If anyone has a thought on these I would apprecitate input.
I may be repeating myself, but F4 shows SWF output, not HTML output. However Failure messages normally do work as expected, never had issues. You didn't answer my questions in my last comment, but of course that is your choice.
Only one TEB on a slide, on top of the z-order normally has the focus. Is the TEB timeline starting on frame 1?
Both mentioned issues point to some corruption, or a not yet detected bug in the setup.
To answer your question, I am redisplaying the slide so the TEB variable can be analyzed to determine if the learner has input the correct text or not. I have to do this because of the default failure message not working and I believe more so bucause I am using Tab and the shortcut ker. If I could use Enter the defuult works. However Enter is taboo in our application and can not be used in training. The redisplay of the slide is the only way I could get a consistant failure message to show.
As for the TEB frame start, they are on frame 1 of every slide they reside.
If you prefer to use a Conditional Action to evaluate the TEB variable value, why not use the On Focus Lost event to trigger it? That way you would not need to re-enter the slide.
Also, I agree with Lilybiri. If your failure caption is not appearing in HTML5 output, that is a concern that should be examined first. If it does point to corruption in your project, sooner or later that could come back to bite you bigtime. Better to rebuild slides (or even the whole project) now to get rid of it, than spend even more time on it and lose the lot.
If there is a Conditional Action in the mix somewhere, I would look carefully at that first, because in most cases I have seen it is a logical flaw in the conditional action that causes a lot of baffling behaviour.