Follow

Keep Up to Date with the Most Important News

By pressing the Subscribe button, you confirm that you have read and are agreeing to our Privacy Policy and Terms of Use
Contact

Very simple question regarding JavaScript and login

So I have this JS code, its supposed to output the stuff I put into the email and password boxes on the console, so in the future I can put them into a database.

My problem is, that the first time I execute my code, it works as expected, the second time I do it, the code only displays the last console.log() prompt.

Help will be greatly appreciated.

MEDevel.com: Open-source for Healthcare and Education

Collecting and validating open-source software for healthcare, education, enterprise, development, medical imaging, medical records, and digital pathology.

Visit Medevel

let email;
let password;

document.getElementById("loginBtn").onclick = function(){
  email = document.getElementById("email").value;
  console.log(email);
  password = document.getElementById("password").value;
console.log(password);
}
<div class="container" > 
    <h3 id="LogInToAcc" class="fonts"> Log into your account.</h3> 
    <hr>
   <p class="fonts" id="accDont">Don't have an account?</p>
   <a class="fonts" id="SignUp" href="signup.html"> Sign up!</a><br><br>
    
    
 <label class="inputlabel" for="email">Email:</label> <br> 

 <input  id="email" class="inputs" type="email" > <br><br>

 <label class="inputlabel" for="password"  >Password:</label> <br>

 <input id="password" class="inputs"  type="password" pattern=".{5,10}"> <br><br>
 <a  class="forgot"  href="newpassword">Forgot your password?</a>
 <a href="">
 <button id="loginBtn" class="loginBtn" > Login</button> <br><br>
</a>

</div>

<script src="login.js"></script>   

Some of the things I tried was, moving the code around. Setting the variables inside the function.

>Solution :

Primarily, your HTML is not valid. After restructuring it and tweaking the JavaScript, you get something like what I’ve got below.

Be sure to read the comments.

// Get you element references just once rather than 
// every time the function runs. Also, don't set the
// variables up to point to a property of the element
// so that in case you need to access a different 
// property later, you won't need to scan for the 
// element reference again.
const email = document.getElementById("email");
const password = document.getElementById("password");

// Set up events the modern way
document.getElementById("loginBtn").addEventListener("click", function(){
  console.log(email.value, password.value);
});
<div class="container"> 
  <h1 id="LogInToAcc" class="fonts"> Log into your account.</h1> 
  <p class="fonts" id="accDont">Don't have an account?</p>
  <p><a class="fonts" id="SignUp" href="signup.html"> Sign up!</a></p>
  <div><label class="inputlabel" for="email">Email:</label></div>
  <div><input  id="email" class="inputs" type="email"></div>
  <div><label class="inputlabel" for="password"  >Password:</label></div>
  <div><input id="password" class="inputs"  type="password" pattern=".{5,10}"></div>
  <div><a class="forgot"  href="newpassword">Forgot your password?</a></div>
  <div><button id="loginBtn" class="loginBtn" > Login</button></div>
</div>

<script src="login.js"></script>
Add a comment

Leave a Reply

Keep Up to Date with the Most Important News

By pressing the Subscribe button, you confirm that you have read and are agreeing to our Privacy Policy and Terms of Use

Discover more from Dev solutions

Subscribe now to keep reading and get access to the full archive.

Continue reading