Значение ввода "", когда введенный ввод начинается с пробела - PullRequest
0 голосов
/ 22 октября 2019

Ввод пробела перед тем, как что-либо в моем вводе приводит к тому, что значение, читаемое через JavaScript, будет пустым. Когда в середине есть другие пробелы, они не пустые, но когда я вставляю пробел в начале после ввода некоторого текста, текст не отображается в отладчике на входном значении.

Javascript

    inputs = document.querySelectorAll(".report_info > div > input");
    console.log(inputs);    
    for(let i = 0; i < inputs.length; i++){
        inputs[i].classList += " empty";

        inputs[i].addEventListener("input", evt=>{
            evt.preventDefault();
            value = inputs[i].value.trim();
            if(value)
                inputs[i].classList.remove("empty");
            else
                if(!inputs[i].classList.contains("empty"))
                    inputs[i].classList += " empty";
        })
    }

HTML-код, который должен работать на

    <div class="report_info">
        <div>
            <input type="text" name="students_name" required>    
            <label for="students_name">
                <span>Student's Name</span>
            </label>
        </div>
        <div>
            <input type="text" name="student_id" required>
            <label for="student_id">
                <span>ID</span>
            </label>
        </div>
        <div>
            <input type="email" name="parent_phone" required>
            <label for="parent_phone">
                <span>Parent's Tele #</span>
            </label>
        </div>
        <div>
            <input type="text" name="semester_year" required>
            <label for="semester_year">
                <span>Semester/Year</span>
            </label>
        </div>
        <div>
            <input type="number" name="days_present" required>
            <label for="days_present">
                <span>Days Present</span>
            </label>
        </div>

1 Ответ

0 голосов
/ 22 октября 2019

Причиной проблемы было то, что значения моих входов с типом "число" были недействительными, они просто ничего не возвращали. Это означает, что если пользователь неожиданно вводит букву или недопустимый символ после строки действительных чисел, значение будет пустым.

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