javascript - 只运行一次部分?

标签 javascript for-loop

我有一个 for 循环,它通过 class="required" 遍历每个输入,它是空的,它会改变它的背景颜色。此外,它还向页面的一部分添加了一条消息:“需要具有红色背景颜色的字段”。但是,我只希望消息显示一次。即使 5 个字段为空,也应该只显示一条消息。有什么建议么?

这是我的代码:

<script type="text/javascript" >
window.onload = function() {
document.getElementById("formID").onsubmit = function() {
    var fields = this.getElementsByClassName("validate"),
        sendForm = true;
    for(var i = 0; i < fields.length; i++) {
        if(!fields[i].value) {
            fields[i].style.backgroundColor = "#ffb8b8";

    var inst = document.getElementById('inst');
        var reason = inst.insertRow(-1);
        var cell1=reason.insertCell(0);
        cell1.innerHTML = '<p>Fields with a red background are required and empty. Please fill them in and try resubmitting. Thanks.</p>';
        inst.appendChild(reason);


    sendForm = false;
        }

    else {
            fields[i].style.backgroundColor = "#fff";
        }
} 
    if(!sendForm) {
        return false;
    }
}
}
</script>

最佳答案

只要字段验证失败,您就可以设置一个标记为真。循环执行后,如果标志为真,追加错误信息。

关于javascript - 只运行一次部分?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6998823/

相关文章:

javascript - 将 SweetAlert2 与 TypeScript 一起使用,找不到模块 'sweetalert2/dist/sweetalert2.js' 的声明文件

javascript - 为 Parse.com 设置云代码

javascript - 将 bootstrap 模态打印为 PDF

javascript - 尝试获取 str 中每个字符的编号

arrays - 如何在Linux中使用带有多个变量的for循环

javascript - Django按钮类forloop触发javascript

javascript - 如何从下拉列表中进行选择并输入文本

javascript - 迭代地将数组中的第一个和最后一个数字相加

reactjs - for 循环不在 react native 子项内递增

c - 如何解决黑客等级的楼梯问题