为什么输入值是一个空字符串在这种形式?



我知道应该很简单,但我还是不知道问题出在哪里。我已经创建了我使用变量Id的表单,然后在提交后,我想看到输入的值,但我得到"

<form action="signIn.html" method="get">
<input type="text" name="name" id="names" placeholder="Name">
<input type="email" name="email" id="email" placeholder="Email">
<input type="password" name="password" id="password" placeholder="Password">
<label for="terms">
<input type="checkbox" name="terms" id="terms" value="terms">I agree to the Terms and Privacy Policy
</label>
<div class="button">
<input class="btn signUp" type="submit" value="Sign Up">                            
</div>
const formulario = document.querySelector("form");
const nombre = document.querySelector("#names").value;
const email = document.querySelector("#email").value;
const password = document.querySelector("#password").value;
let correctData = [];
let errors = [];

formulario.addEventListener("submit", (e) => {
e.preventDefault()
console.log(nombre)
console.log(email)
console.log(password)
});

在页面加载时检索输入的值(这是一个空白字符串,因为最初输入没有值)。

相反,在submit事件处理程序中获取value

const formulario = document.querySelector("form");
const nombre = document.querySelector("#names");
const email = document.querySelector("#email");
const password = document.querySelector("#password");
let correctData = [];
let errors = [];

formulario.addEventListener("submit", (e) => {
e.preventDefault()
console.log(nombre.value)
console.log(email.value)
console.log(password.value)
});
<form action="signIn.html" method="get">
<input type="text" name="name" id="names" placeholder="Name">
<input type="email" name="email" id="email" placeholder="Email">
<input type="password" name="password" id="password" placeholder="Password">
<label for="terms">
<input type="checkbox" name="terms" id="terms" value="terms">I agree to the Terms and Privacy Policy
</label>
<div class="button">
<input class="btn signUp" type="submit" value="Sign Up">
</div>

最新更新