javascript - 如何在提供新输入后立即使 JavaScript 表单错误消失?
问题描述
这是我的代码:
var nameInput = formHandle.f_Name;
var idInput = formHandle.f_Id;
// NAME VALIDATION
if(nameInput.value === ""){
nameMsg = document.getElementById("nameErr");
nameMsg.style.background = "red";
nameMsg.innerHTML = "Please enter your name.";
nameMsg.style.color = "white";
nameInput.focus();
return false;
}
// ID VALIDATION
if(idInput.value === ""){
idMsg = document.getElementById("idErr");
idMsg.style.background = "red";
idMsg.innerHTML = "Please enter the correct ID.";
idMsg.style.color = "white";
idInput.focus();
return false;
}
首先验证我的姓名字段。如果为空,则会出现红色警报。但是,一旦我编辑空名称字段,添加名称并再次点击提交,就会检测到空 ID 字段。发生这种情况时,我只希望 ID 字段为红色,并且名称字段不应继续显示错误,因为已满足条件。我怎么做?
解决方案
i think you should add an else statement to the input field... like this...
var nameInput = formHandle.f_Name;
var idInput = formHandle.f_Id;
// NAME VALIDATION
if(nameInput.value === ""){
nameMsg = document.getElementById("nameErr");
nameMsg.style.background = "red";
nameMsg.innerHTML = "Please enter your name.";
nameMsg.style.color = "white";
nameInput.focus();
return false;
} else {
nameMsg = document.getElementById("nameErr");
nameMsg.style.display= "none";
}
// ID VALIDATION
if(idInput.value === ""){
idMsg = document.getElementById("idErr");
idMsg.style.background = "red";
idMsg.innerHTML = "Please enter the correct ID.";
idMsg.style.color = "white";
idInput.focus();
return false;
}else {
idMsg = document.getElementById("idErr");
idMsg.style.display= "none";
}
推荐阅读
- javascript - 尝试在 Laravel 中使用 ping 工具包
- javascript - 登录后将用户路由到另一个组件时出错
- powershell - 使用 PowerShell 打开特定文件夹
- c++ - 修改数据文件中的记录
- c++ - 基于模板的获取组件方法在继承时失败
- typescript - 输入参数名称?
- flutter - 如何修复'NoSuchMethodError:getter'length'被调用为null'
- python - 在 Python 中使用 Selenium 防止/延迟模态对话框关闭
- c# - 有没有办法更好地优化 ProgressBars 的 WPF 逻辑
- angular - 使用 Angular 8 将下拉列表值和文本字段值添加到动态