Ezikiel
Ezikiel

Reputation: 35

How to print input from a text field?

I've been trying to make a simple login system (local) and I'm a bit confused.. How can I take the input the user wrote into the text field print it in console and store it in a variable?

My HTML code:

<!DOCTYPE html>
<meta content="text/html;charset=utf-8" http-equiv="Content-Type">
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <script src="username.js"></script>
    <script src="password.js"></script>
</head>
<body>
    <title>Login #1</title>
    <h2>Simple login system</h2>
    <form name="">
        <label for="text1">Username:</label>
        <input type="text" name="text1">
        <label for="text2">Password:</label>
        <input type="text" name="text2">
        <button onclick="password(), username()">login</button> 
    </form>
</body>
</html>

For my JS I wanted to have the ''password() and username()'' functions checking both seperatly in seperate files.

JS Password file:

const Psword = 'Password9' //just an example

function password() {
    console.log(Psword)
    // if (user input from password field) = Psword
    // alert('Login sucessfull redirecting!)
    // else{
    // alert('Username or password are incorrect')    
    // }
}

JS Username file:

var Username = 'Subject09'

function username() {
    console.log(Username)
    // if (user input from username field) = Username
    // alert('Login sucessfull redirecting!)
    // else{
    // alert('Username or password are incorrect')    
    // }
}

EDIT: Added my JS code. (Note: I've split my code into 2 diffrent JS files because I just want it to be simple in the outcome.)

Upvotes: 0

Views: 1878

Answers (2)

Imran Rafiq Rather
Imran Rafiq Rather

Reputation: 8098

We can do a form submit using onsubmit event.

UPDATE: I am showing you the form submit approach.

const form = document.querySelector("form");

form.addEventListener("submit",(e)=>{
e.preventDefault();


 if(form["text1"].value && form["text2"].value){
console.log("Submitted the form");
   form.reset();
 }else{
console.log("Provide required values");
 }
})
<!DOCTYPE html>
<meta content="text/html;charset=utf-8" http-equiv="Content-Type">
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <script src="username.js"></script>
    <script src="password.js"></script>
</head>
<body>
    <title>Login #1</title>
    <h2>Simple login system</h2>
  <form>
    <div>
      <label>Username:</label>
      <input type="text" name="text1" >
    </div>
    
    <div>
      <label>Password:</label>
      <input type="text" name="text2">
    <div>
    
    <button type="submit">login</button> 
  </form>
</body>
</html>

Upvotes: 1

Thomas
Thomas

Reputation: 88

Set ids to you input and your button. You can prevent submitting by adding type="button" to your button.

Simply set an onclick event on your button, and get your inputs values.

<body>
 <title>Login #1</title>
 <h2>Simple login system</h2>
 <form>
    <label for="text1">Username:</label>
    <input type="text" name="text1" id="username">
    <label for="text2">Password:</label>
    <input type="text" name="text2" id="password">
    <button type="button" id="submitBtn">login</button> 
 </form>
window.onload = function() {
  document.getElementById('submitBtn').addEventListener('click', onSubmit);
}


function onSubmit() {
  console.log(document.getElementById('username').value);
  console.log(document.getElementById('password').value);

  // Do what you want with data

  // You can submit with .submit()
  document.forms['form'].submit();
} 

Upvotes: 1

Related Questions