当输入的输入以空格开头时,输入值为“”

时间:2019-10-22 00:20:29

标签: javascript input

在输入中的任何内容之前输入空格会导致通过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";
        })
    }

应该可以使用的

    <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 :(得分:0)

问题的原因是我输入的“数字”类型的值无效,它们什么也没返回。这意味着,如果用户在一串有效数字之后突然输入字母或不可接受的字符,则该值将为空。