Copy link to clipboard
Copied
Hey Everyone,
I am currently running into an issue. I am using the 2017 Captivate Version, along with publishing to HTML5. I have an advanced action upon submit of a text entry box to look like this:
The action works if the first attempt is correct. If it is incorrect, it does display my failure message and button. But it will not allow for another entry attempt until the slide is reloaded. So my next question is:
Is there a way to reload the current slide using an advanced action or button?
If there is not, would it be possible to exit the current slide, return to the previous slide and go forward again?
Example: Upon getting the TEB wrong, you would exit slide 11, go to slide 5 to review, then upon exit of slide 11, you return to slide 5. Does this make sense?
Either you have to go back a few frames using the Expression command, or you can indeed use the approach to Replay the slide with re-entering it (second scenario in this blog post: Replay (slide) Button - Captivate blog
However, there is a bug in Captivate2017 and we are still waiting for a patch: for HTML5 output if you use that approach the On Enter action will not be executed. Workaround, which I used in this post: Playing a dice game, using While loop - Captivate blog
You need to use a short
...Copy link to clipboard
Copied
Either you have to go back a few frames using the Expression command, or you can indeed use the approach to Replay the slide with re-entering it (second scenario in this blog post: Replay (slide) Button - Captivate blog
However, there is a bug in Captivate2017 and we are still waiting for a patch: for HTML5 output if you use that approach the On Enter action will not be executed. Workaround, which I used in this post: Playing a dice game, using While loop - Captivate blog
You need to use a short dummy slide (0,1sec) before the present slide, with the action:
Go to Previous slide
Continue
Copy link to clipboard
Copied
Thanks, Lilybiri.
Is my expression off? I have tried values of 3, 5 and 10 to no use. It just simply will not allow a re-enter. However, the slide pauses as if it recognizes the TEB again. Do you know why this would be happening?
I feel a dummy slide is my best bet at this point, but that would add on another 80 slides to my project. Additionally, is there a way to clear the text entry box's text upon re-entry of the slide from the dummy slide? I have tried the assign value option with nothing, but that doesn't work, sadly.
Copy link to clipboard
Copied
By rewinding you set the playback again in the active part of the TEB, and you are able to type in another entry. It is not possible to clear the TEB in Captivate (long asked for feature, but apparently not important), you could do that with the CpExtra widget by InfoSemantics. It is not free, but has many features lacking in Captivate. You can download a trial version. I used it in my example of the JS for random numbers: Playing with Numbers - part 1 - Captivate blog and Playing with Numbers - part 2 - Captivate blog
I am also very annoyed by that workaround with the dummy slide, had expected to have the bugs (there are several bugs) be fixed sooner.
Copy link to clipboard
Copied
Thank you once again.
I have looked into the CpExtra widget before, but I would like to confirm that it will be fine in html output?
Fingers crossed for a clear button along with the bugs to be fixed.
Copy link to clipboard
Copied
WIdget works only in HTML5, not for SWF.
Don't count on a clear button, but log a feature request. If more users ask for a feature, maybe...
Copy link to clipboard
Copied
Thanks so much, I marked your answer as the best.
I'll try to convince management to purchase the CpExtra tool, then!
Copy link to clipboard
Copied
If all one wants to do is clear user's input from a TEB, I've finally found a solution after much research. A user from the website Stack Overflow (www.stackoverflow.com) provided an Execute Javascript line of code that worked quite well for me. Preview the sample .cptx file below in HTML5. It's quite simple really:
1. Create a Text Entry Box (TEB)
2. Name the TEB (I named mine InputText)
3. With the TEB selected from step 2., click the Properties inspector panel.
4. Uncheck Retain Text checkbox.
5. Create a button. This can be either a standard button or SmartShape or image button.
6. Set the OnSuccess action to Execute JavaScript.
7. Click the Script_Window.
8. Copy and paste the following code into the dialog box:
$("#InputText_inputField").val("");
9. Replace 'InputText' with the name of your TEB from step 2.
10. Click Ok to close the Script_Window.
11. Preview your project in HTML5.
You can also change what displays in the TEB when the button is clicked by inserting text in between the "" from step 8. It would be nice if Adobe would step in and help with this kind of stuff by adding this as one of the TEB features, but in the meantime, this should work. NOTE: the button described here will not change the value of the variable associated to the TEB. If the user edits the text, the value of the variable will change in real time to match whatever they enter.
Copy link to clipboard
Copied
That worked awesome RBeers! Thank you.
Copy link to clipboard
Copied
You're most welcome. Glad it helped.