- Öncelikle HTML tarafından bu şekilde bir syntax ile form alanımızı oluşturuyoruz.
<div class="form-label-group">
<input type="password"
id="password"
name="password"
autocapitalize="none"
class="form-control"
value="{{ old('password') }}"
required>
<label for="password">Şifren</label>
<span id="password-toggler" data-ishidden="true">
<span id="password-hidden-label">Göster</span>
<span id="password-visible-label" class="d-none">Gizle</span>
</span>
</div>
- Şimdi password-toggler'ı form alanının sağ tarafında sabit hale getirmek için CSS'imizi ekleyelim
#password-toggler {
cursor:pointer;
color: gray;
font-weight: 800;
font-size:0.8rem;
position:absolute;
top:0; right:0;
line-height: 50px;
padding: 0 15px;
}
#password-toggler:hover {
color: blue;
}
- Son olarak ta sağ tarafa basıldığı takdirde göster/gizle butonunun çalışmasını hallediyoruz.
document.getElementById('password-toggler').addEventListener('click', function() {
let el = this;
let isHidden = el.dataset.ishidden;
if(isHidden == 'true') {
// make it visible
document.querySelector('[name=password]').setAttribute('type', 'text');
el.dataset.ishidden = false;
document.getElementById('password-hidden-label').className = 'd-none';
document.getElementById('password-visible-label').className = 'd-block';
} else {
// make it hidden
document.querySelector('[name=password]').setAttribute('type', 'password');
el.dataset.ishidden = true;
document.getElementById('password-hidden-label').className = 'd-block';
document.getElementById('password-visible-label').className = 'd-none';
}
});