问题是你传递的是name的值,但是你错误地将它作为字符串传递,而不是你所拥有的预定义变量,因为 localStorage.setItem("THE_NAME_OF_THE_SAVED_ITEM", THE_VALUE) 所以,这应该做的伎俩:
localStorage.setItem("THE_NAME_OF_THE_SAVED_ITEM", THE_VALUE)
<!DOCTYPE html> <html> <head> <title>Heads or Tails</title> <link rel="stylesheet" href="styles.css"> </head> <body> <form> <!-- Few changes made here. --> <label for="name">What is your name: </label> <input type="text" id="name" placeholder="Enter name here..."> <button type="button" class="submit" onclick="greeting();" >Submit</button> </form> <h3 id="greetUser"></h3> <div class="hello"></div> <h1>Will it be heads or tails?</h1> <input type="button" class="button" onclick="junction();" value="Let's Flip!"> <h3 id="response"></h3> </body> <script> /* Generate randomly 1 or 2 assign 1 to heads use if else statement else (number is 2) assign to tails track results make button clickable multiple times without refresh */ /* Heads or tails*/ function junction(){ var randomNumber = Math.floor(Math.random() * 2) + 1; if(randomNumber == 1){ document.getElementById("response").innerHTML = "Heads!"; } else { document.getElementById("response").innerHTML = "Tails!"; } } /*local storage of name*/ function greeting(){ var name = document.getElementById('name').value; var greetUser = document.getElementById("greetUser"); // Just get rid of the "" at the value (change "name" to name). localStorage.setItem("userName", name); greetUser.textContent = "Hello," + localStorage.getItem('userName') + " . Let's play heads or tails!"; } </script> </html>
此外,还不完全确定要从哪里显示消息 document.write.innerText = "Hello," + localStorage.getItem('userName')+ "let's play heads or tails!"; 但对我来说,当我在开发工具中尝试这个部分时,它只是控制台记录,所以在控制台中寻找。
document.write.innerText = "Hello," + localStorage.getItem('userName')+ "let's play heads or tails!";