JavaScript - функции не работают должным образом - PullRequest
0 голосов
/ 11 июня 2019

У меня есть две эти функции, чтобы проверить, является ли в моей форме раздел из 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;
}

Спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...