Forum Discussion
Javascript not activating in Storyline-(showing only default value)
Hello,
I am trying to get a basic date to generate using JavaScript. I have everything set up and when published it only shows the default value. Please help.
Here is the code I am using:
<script>var currentTime = new Date()
var month = currentTime.getMonth() + 1
var day = currentTime.getDate()
var year = currentTime.getFullYear()
var dateString=month + "/" + day + "/" + year
var player = GetPlayer();
player.SetVar("TodayIs",dateString);
player.SetVar("month",month);
player.SetVar("day",day);
player.SetVar("year",year);
</script>
- MathNotermans-9Community Member
get rid of the script tags
- EmilieMartinCommunity Member
still does not work.
- RussellKillips-Community Member
Your script is missing semicolons.
var currentTime = new Date();
var month = currentTime.getMonth() + 1;
var day = currentTime.getDate();
var year = currentTime.getFullYear();
var dateString=month + "/" + day + "/" + year;
var player = GetPlayer();
player.SetVar("TodayIs",dateString);
player.SetVar("month",month);
player.SetVar("day",day);
player.SetVar("year",year); - JoeFrancisCommunity Member
I was going to offer Storyline 360: JavaScript Best Practices and Examples as having some good information. Then I looked closer at their "Change the value of a Storyline variable" example, and lo and behold the first 5 JavaScript statements are not terminated with semicolons! Seriously, Articulate? This conversation has been around longer than you have.
Semicolon Insertion: July 2000 Draft, JavaScript 2.0, Rationale
Do you recommend using semicolons after every statement in JavaScript?
I don't trust a parser to automatically insert a semicolon where it thinks it might need to go. That's why programming languages like C, C++, and Java specify using a semicolon to let the compiler know it has reached the end of a command.
If you want to test your JavaScript, copy and paste it in JSLint. Unsurprisingly, it did not like what came from Articulate, but it did quite a bit better with Russell's version (JSLInt obviously wouldn't understand player.GetVar / player.SetVar).