如何将用户输入存储为 JavaScript 变量供以后使用

How to make user input stored as JavaScript Variable for later use

我正在尝试编写一个程序,允许用户键入输入,然后按下按钮并打印输入。我似乎无法获得 JavaScript 来保存用户输入。我认为这与未更新的文本输入字段的值属性有关,因此 JavaScript 无法检索它。我不知道如何解决这个问题,因此看不出这是否是导致问题的原因。任何帮助将不胜感激。

var n = document.getElementById('userInput').value;

function runCode() {
  document.getElementById('test').innerHTML = n;
}
<input type="text" id="userInput">
<button type=button id="btn" onclick="runCode()">Click Me!</button>
<p id="test">Orginal Text</p>

由于您在页面加载时取值,该值是空的,您应该在点击处理函数中取值。

请注意: 如果值是纯字符串(不是 htmlString)而不是 innerHTML,最好使用 textContentinnerText 属性 元素.

<input type="text" id="userInput">
<button type=button id="btn" onclick="runCode()">
  Click Me!
</button>
<p id="test">
  Orginal Text
</p>
<script>
  //console.log(document.getElementById('userInput').value == "") // true
  function runCode() {
    var n = document.getElementById('userInput').value;
    document.getElementById('test').textContent = n;
  }
</script>

您在 JS 执行开始时引用输入值,输入的初始值为空字符串。

试试把这个 var n = document.getElementById('userInput').value; 函数内部