Skip to content

Instantly share code, notes, and snippets.

@angusgrant
Last active October 10, 2022 22:22
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save angusgrant/e53709838cd05cca2c238164abc016a0 to your computer and use it in GitHub Desktop.
Save angusgrant/e53709838cd05cca2c238164abc016a0 to your computer and use it in GitHub Desktop.
lesson 1 vanilla JS
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Password Visibility</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<style type="text/css">
body {
margin: 0 auto;
max-width: 40em;
width: 88%;
}
label {
display: block;
width: 100%;
}
input {
margin-bottom: 1em;
}
[type="checkbox"] {
margin-bottom: 0;
margin-right: 0.25em;
}
</style>
</head>
<body>
<h1>Password Visibility</h1>
<p>Enter your username and password to login.</p>
<form>
<div>
<label for="username">Username</label>
<input type="text" name="username" id="username">
</div>
<div>
<label for="password">Password</label>
<input type="password" name="password" id="password">
</div>
<div>
<label for="show-password">
<input type="checkbox" name="show-passwords" id="show-password">
Show password
</label>
</div>
<p>
<button type="submit">Log In</button>
</p>
</form>
<script>
const showPasswordChkBox = document.querySelector('#show-password')
const passwordInput = document.querySelector('#password')
showPasswordChkBox.addEventListener('change', function(event){
if (event.currentTarget.checked) {
passwordInput.setAttribute('type', 'text');
} else {
passwordInput.setAttribute('type', 'password');
}
});
</script>
</body>
</html>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment