我有一个与此http://codepen.io/ehermanson/pen/KwKWEv类似的注册表单。注册选项卡工作正常但每当我单击登录选项卡并输入电子邮件和密码时,程序似乎对电子邮件值视而不见。 这是我的HTML代码
<div id="login">
<h1>Welcome Back!</h1>
<div action="" method="post">
<div class="field-wrap">
<label>
Email Address<span class="req">*</span>
</label>
<input type="email"required autocomplete="off" id="email"/>
</div>
<div class="field-wrap">
<label>
Enter your password<span class="req">*</span>
</label>
<input type="password"required autocomplete="off" id="password"/>
</div>
<p class="forgot"><a href="#">Forgot Password?</a></p>
<button class"Authbtn" id="submit" onclick="afterLogin();">Log In</button>
</div>
</div>
这是我的JS代码
function handleloginIn() {
if (firebase.auth().currentUser) {
// [START signout]
firebase.auth().signOut();
// [END signout]
} else {
var email = document.getElementById('email').value;
var password = document.getElementById('password').value;
alert(email);
if (email.length < 4) {
alert('Please enter an email address.');
return;
}
if (password.length < 4) {
alert('Please enter a password.');
return;
}
// Sign in with email and pass.
// [START authwithemail]
firebase.auth().signInWithEmailAndPassword(email, password).catch(function(error) {
// Handle Errors here.
var errorCode = error.code;
var errorMessage = error.message;
// [START_EXCLUDE]
if (errorCode === 'auth/wrong-password') {
alert('Wrong password.');
} else {
alert(errorMessage);
}
// [END_EXCLUDE]
});
}
//Handle Account Status
firebase.auth().onAuthStateChanged(user => {
if(user) {
window.location = "userhome.html"; //After successful login, user will be redirected to index.html
}
});
}
我补充说 警报(电子邮件);
我想知道是否正在读取该值,但它总是返回空白,就好像没有输入任何内容一样。由于未检测到值,因此无法登录。请帮助解决可能导致此问题的原因。
答案 0 :(得分:0)
尝试使用console.log而不是alert来启动。这可能会显示它是未定义还是null。还要在输入上的类型和必需属性之间添加空格。将getElementById结果记录到控制台并尝试查看它是否找到该元素,然后您将更好地了解该问题。