Cześć.
Robię walidację checkbox opartą na js.Mam jednak mały problem ponieważ kod nie działa zbyt dobrze.Otóż po zaznaczeniu pierwszego chcekboxa pokazuje mi zero zaznaczonych a drugiego już nie mogę w ogóle zaznaczyć w sensie klika na niego ale nie odfajkowuje się.Walidacja ma polegać , że po zaznaczeniu 4 losowych checkbox ma pokazać komunikat i wyłączyć możliwość dodawani w innych.Mój kod :
function validation() {
document.querySelector('#formTest').addEventListener('click', function(e) {
e.preventDefault();
var checkedCount = 0;
for(var i=0; i<9; i++){
var checkboxes = document.querySelectorAll('input[name="pole'+i+'"]');
}
for (const chk of checkboxes) {
if (chk.checked) {
checkedCount++;
}
}
if (checkedCount < 2) {
alert('Wybrałeś ' +checkedCount+' owoce, a musisz wybrać minimum 2');
} else {
alert('Wybrałeś ' +checkedCount+' owoce. Bądź pozdrowiony!');
}
});
}
i kod html z checkboxem :
<form id="validation()">
<div class="col-md-6">
<label><input type="checkbox" name="pole1" onchange="validation()" value="1"> 1</label><br>
<label><input type="checkbox" name="pole2" onchange="validation()" value="2"> 2</label><br>
<label><input type="checkbox" name="pole3" onchange="validation()" value="3"> 3</label><br>
<label><input type="checkbox" name="pole4" onchange="validation()" value="4"> 4</label><br>
<label><input type="checkbox" name="pole5" onchange="validation()" value="5"> 5</label><br>
</div>
<div class="col-md-6">
<label><input type="checkbox" name="pole6" onchange="poleSix()" value="6"> 6</label><br>
<label><input type="checkbox" name="pole7" onchange="validation()" value="7"> 7</label><br>
<label><input type="checkbox" name="pole8" onchange="validation()" value="8> 8</label><br>
<label><input type="checkbox" name="pole9" onchange="validation()" value="9"> 9</label><br>
</div>
</div>
</form>