Password Visibility
Enter your username and password to login.
<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 async>
// Variables
var password = document.querySelector('#password');
var passwordToggle = document.querySelector('#show-password');
// Methods
var togglePassword = function (event) {
if (event.target != passwordToggle) return;
password.type = passwordToggle.checked ? 'text' : 'password';
};
// Listeners
document.addEventListener('click', function (event) {
togglePassword(event);
});
</script>
Other ideas
-
if
statement could have replaced the ternary operator. -
The event listener could instead be attached to the
passwordToggle
element.