Continuing on my JS practice binge. I cannot figure out why the variable, “name” is not showing up on web page. Anyone got any ideas - thank you in advance! I am sure it’s something obvious but i just don’t see it.
HTML code:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta name="viewport" content="width=device-width">
<title>Silly story generator</title>
</head>
<body>
<div>
<label for="customname">Enter custom name:</label>
<input id="customname" type="text" placeholder="">
</div>
<div>
<label for="us">US</label><input id="us" type="radio" name="ukus" value="us" checked>
<label for="uk">UK</label><input id="uk" type="radio" name="ukus" value="uk">
</div>
<div>
<button class="randomize">Generate random story</button>
</div>
<!-- Thanks a lot to Willy Aguirre for his help with the code for this assessment -->
<p class="story"></p>
<script type="text/javascript" src="js_assessment.js">
</script>
</body>
</html>
JS code:
// alert("is this mike on")
var customName = document.getElementById('customname');
var randomize = document.querySelector('.randomize');
var story = document.querySelector('.story');
function randomValueFromArray(array){
return array[Math.floor(Math.random()*array.length)];
}
var storyText =
"It was 94 farenheit outside, so " + insertX +
" went for a walk. When they got to " + insertY +
", they stared in horror for a few moments, then " + insertZ + "." +
name + " saw the whole thing, but was not surprised — " + insertX +
" weighs 300 pounds, and it was a hot day.";
var insertX = ["Willy the Goblin","Big Daddy","Father Christmas"];
var insertY = ["the soup kitchen","Disneyland","the White House"];
var insertZ = ["spontaneously combusted", "melted into a puddle on the sidewalk", "turned into a slug and crawled away"];
randomize.addEventListener('click', result);
function result() {
var newStory = storyText;
console.log("1st: "+name);
if(customName.value != '') {
var name = customName.value;
}else {
var name = "Bob";
}
console.log("2nd: "+name);
var xItem = randomValueFromArray(insertX);
var yItem = randomValueFromArray(insertY);
var zItem = randomValueFromArray(insertZ);
var newStory = newStory.replace(undefined, xItem);
var newStory = newStory.replace(undefined, yItem);
var newStory = newStory.replace(undefined, zItem);
var newStory = newStory.replace(undefined, xItem);
if(document.getElementById("uk").checked) {
var weight = Math.round(300);
var temperature = Math.round(94);
}
story.textContent = newStory;
story.style.visibility = 'visible';
}