我试图创建一个表单,当提交时将输出两个值到控制台。然而,当我运行它时,只有电子邮件字段被显示,而名称字段只是显示"未定义"。
我已经创建了一个JSFiddle。
https://jsfiddle.net/hbzxcvjj/1/JS:
var name = document.getElementById("name");
var email = document.getElementById("email");
var submitButton = document.getElementById("btn-signup");
var sendInfo = function(){
console.log(name.value);
console.log(email.value);
}
submitButton.onclick = sendInfo;
尝试将变量定义移动到函数中,它应该是这样的:
var submitButton = document.getElementById("btn-signup");
var sendInfo = function(){
var name = document.getElementById("name");
var email = document.getElementById("email");
console.log(name.value);
console.log(email.value);
}
submitButton.onclick = sendInfo;
https://jsfiddle.net/hbzxcvjj/2/
查看工作小提琴
尝试另一种方法:
submitButton.addEventListener("click", sendInfo);