Greetings traveller.
Won't you tell me your name?
It's <form><input onkeydown = 'if (event.keyCode === 13) {$.e("name")}' type="text" id="first_name"></input> <input onkeydown = 'if (event.keyCode === 13) {$.e("name")}' type="text" id="last_name"></input></form>?
(click: "name")[
(set: $first_name to document.getElementById("first_name").value)
(set: $last_name to document.getElementById("last_name").value)
(goto: "check-name")
]
{
<!-- Comments in javascript blocks like this can cause problems. -->
(set: $error to (function() {
var first_name = $first_name.toLowerCase();
var last_name = $last_name.toLowerCase();
if (first_name.length === 0 || last_name.length === 0)
return "Sorry, I didn't quite catch that. [[What's your name|whats-your-name]]?";
if (first_name === "twine")
return "That's a ridiculous name. [[What's your real name|whats-your-name]]?";
return "";
})())
(if: $error's length > 0)[
(print: $error)
](else:)[
(goto: "display-name")
]
}
It's good to finally meet you, $first_name $last_name.
Feel like a test?
(click: "test")[
(print:"We just called into twine logic from JavaScript!")
]
(set: $dummy to $.e("test"))