我有一个 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/