Как вы можете использовать проверку формы, чтобы пройти через несколько вариантов? - PullRequest
0 голосов
/ 07 мая 2019

Остальная часть проверки формы работала нормально, пока я не дошел до этого: Секс должен быть одним символом, равным M, m, F или f

<script>
    function verify() {
        if (document.forms[0].age.value < 18) {
            alert ("Age must be between 18 and 30");
            return false;
        } 
        if (document.forms[0].age.value > 30) {
            alert ("Age must be between 18 and 30");
            return false;
        } 
        if (document.forms[0].age.value == "") {
            alert ("Age must be between 18 and 30");
            return false;
        } 
        if (document.forms[0].last.value == "") {
            alert ("Last name canot be empty.");
            return false;
        } 
        if (document.forms[0].sex.value !== "M" || "m" ||"F" ||"f")
            alert ("Please indicate your sex.");
            return false;
        } 
        alert ("Thank you for your submission.")
            return true;
    }
</script>

Ожидается: всплывающие окна для каждой проблемы с отправкой формы. Я получил несколько, прежде чем добавить немного о проверке пола.

Actual: теперь всплывающие окна не появляются.

1 Ответ

1 голос
/ 07 мая 2019

Ваша проверка пола неверна.При выполнении логического или (||) условие должно появляться со всех сторон ||.

Чтобы исправить это, измените код проверки пола на:

 var sex = document.forms[0].sex.value;
 if ( sex !== "M" || sex !== "m" || sex !== "F" || sex !== "f") {
     alert ("Please indicate your sex.");
     return false;
 } 

Как видите, оператор if проверяет пол по каждому значению соответственно.

...