为什么我的密码字段的值总是空字符串?

Why is the value of my password field always an empty string?

我最近一直在练习 javascript 技能,密码验证给我带来了很多麻烦。最后阻止我的是密码字段由于某种原因总是有一个空字符串的值。

无论我在输入字段中输入什么,它总是记录一个空字符串。我尝试了不同的浏览器,但没有效果。

<input type="password" id="password">
<button type="submit" onclick="submitIt()">
Submit
</button>

js

const passWord = document.getElementById('password').value

function submitIt() {
console.log(passWord)
}

这是 jsfiddle: https://jsfiddle.net/k4owfLzn/3/

您的值始终为空,因为 passWord 的值是在页面加载时设置的。它不会在用户输入值后更新。

如果你把代码修改成这样你应该得到这个值。

function submitIt() {
  const passWord = document.getElementById('password').value;

  console.log('passWord: ', passWord)
}

const passWord

在函数外声明。 我确信如果将它插入到函数中,就会得到想要的结果。 :)