JavaScript: modificare la visibilità del testo di un campo password

Short link

In JavaScript è semplice modificare la visibilità del testo di un campo password.

La soluzione consiste nel manipolare l'attributo type del campo operando uno switch tra i valori password e text.

Data quindi la seguente marcatura:


<form action="" method="post" id="login">
 <div>
  <input type="password" id="pwd" name="pwd">
 </div>
 <div>
  <input type="checkbox" id="show-hide" name="show-hide" value="">
  <label for="show-hide">Mostra</label>
 </div>
 <p><input type="submit" value="Login"></p>
</form>

Possiamo scrivere il seguente codice JavaScript:


'use strict';

const togglePassword = (element, field) => {
    element.addEventListener( 'change', () => {
		if( element.checked ) {
			field.setAttribute( 'type', 'text' );
		} else {
			field.setAttribute( 'type', 'password' );	
		}
    }, false);
};

document.addEventListener('DOMContentLoaded', () => {
    togglePassword(document.querySelector('#show-hide'), document.querySelector('#pwd'));
});

L'autore

Gabriele Romanato, sviluppatore web full stack specializzato in siti, applicativi web ed e-commerce con Node.js e PHP.