У меня есть две эти функции, чтобы проверить, является ли в моей форме раздел из 4 строк элементов, каждый с 4 текстовыми полями и двумя переключателями, «завершен».
Завершено, поскольку 1-3 строки полностью заполнены, а остальные пусты или все 4 строки заполнены, и ни одна не пуста.
Если строка 1 заполнена не полностью, а остальные пустые, она не завершена.
Если строка 1 полностью заполнена, а строка 2 - нет, она не завершена и т. Д.
Сейчас эти функции говорят, что форма заполнена, когда хотя бы одна строка заполнена полностью, независимо от того, заполнены ли остальные не полностью.
Есть ли ошибки в этом коде? Я перепробовал много разных исправлений, но ни одна из них не работает - мне интересно, выключена ли у меня логика.
function lineIsComplete(i) {
let lastName = document.getElementById("txtChildsPlacementChild" + i + "LastName");
let firstName = document.getElementById("txtChildsPlacementChild" + i + "FirstName");
let caseNumber = document.getElementById("txtChildsPlacementChild" + i + "CaseNumber");
let birthDate = document.getElementById("txtChildsPlacementChild" + i + "BirthDate");
let apprehended = document.getElementById("rdoChildsPlacementChild" + i + "StatusApprehended");
let remainHome = document.getElementById("rdoChildsPlacementChild" + i + "StatusWillRemainInTheHome");
if (lastName != '' && firstName != '' && caseNumber != '' && birthDate != '' &&
(apprehended.checked || remainHome.checked)) {
return true;
} else if (i != 1 && lastName == '' && firstName == '' && caseNumber == '' && birthDate == '' &&
(!apprehended.checked || !remainHome.checked)) {
return true;
}
return false;
}
function section4Complete() {
for (let i=1; i++; i<=4) {
if (!lineIsComplete(i)) {
return false;
} else {
continue;
}
}
return true;
}
Спасибо.