I have a code in which if my checkbox is checked and if I load window(page) checkbox should remain there on reload OR if I uncheck the checkbox and reload page then checkbox should remain unchecked. my code is as following.
<input type="checkbox" id="chk">
<script>
window.onload = onPageLoad();
function onPageLoad() {
if (document.getElementById("chk").checked == true) {
document.getElementById("chk").checked = true;
} else {
document.getElementById("chk").checked = false;
}
}
</script>However above code returns unchecked checkbox even after reloading page after checking checkbox.
Advertisement
Answer
Just add “checked” attribute to HTML tag:
<input type="checkbox" checked>
But if you need to keep checked input after page reload you need to add a storage info. Maybe help:
<input type="checkbox" id="chk">
<script>
window.addEventListener('load', function() {
document.querySelector("#chk").addEventListener('change', function(el) {
console.log(el.target.checked);
localStorage.setItem('input_checked', el.target.checked );
});
if ( localStorage.getItem('input_checked') !== null ) {
document.querySelector('#chk').checked = localStorage.getItem('input_checked') === 'true';
}
});
</script>