Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

227
Vistas
How to make JavaScript form error disappear after immediately after new input is provided?

Here is my code:

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;
        }

First my name field is validated. If it is empty, a red alert appears. However once I edit the empty name field, add a name and hit submit again, the empty ID field is detected. When this happens I want only the ID field to be red and the name field should not continue to display an error as the conditions have been met. How do I do that?

Image of error

about 4 years ago · Juan Pablo Isaza
3 Respuestas
Responde la pregunta

0

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"; 
        
}
about 4 years ago · Juan Pablo Isaza Denunciar

0

One way would be to use CSS classes.

Define a CSS class like:

.error-input {
  background-color: red;
  color: white;
}

then you can use Javascript to toggle this class:

if(nameInput.value === ""){ 
  nameMsg = document.getElementById("nameErr");
  nameInput.classList.add("error-input");
  nameMsg.innerHTML = "Please enter your name."; 
  nameInput.focus();
  return false;
} else {
  nameInput.classList.remove("error-input");
}
about 4 years ago · Juan Pablo Isaza Denunciar

0

What you can do is hide all errors before validation:

var nameInput = formHandle.f_Name;
var idInput = formHandle.f_Id;   

nameMsg = document.getElementById("nameErr");
idMsg = document.getElementById("idErr");

nameMsg.style.display = "none";
idMsg.style.display = "none";

// NAME VALIDATION
    if(nameInput.value === ""){ 
            nameMsg.style.background = "red"; 
            nameMsg.innerHTML = "Please enter your name."; 
            nameMsg.style.color = "white";
            nameMsg.style.display = "inline-block";
            nameInput.focus();
            return false;
    }

    
// ID VALIDATION
    if(idInput.value === ""){
        idMsg.style.background = "red"; 
        idMsg.innerHTML = "Please enter the correct ID."; 
        idMsg.style.color = "white";
        idMsg.style.display = "inline-block";
        idInput.focus();
        return false;
    }
about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda