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

347
Vistas
La validación del formulario Javascript no funciona, no estoy seguro de dónde me equivoqué

Realmente estoy luchando para que la validación de mi formulario funcione. Soy muy nuevo en JS, así que no estoy seguro de dónde me equivoqué. Traté de mirar a través, pero todavía no pude resolverlo. Por favor ayuda.

Aquí está mi JS

 const fname = document.querySelector("#fname") const lname = document.querySelector("#lname") const email = document.querySelector("#email") const password = document.querySelector("#password") const phoneNumber = document.querySelector("#phone-number") form.addEventListener("submit", (e) => { e.preventDefault(); }); function checkInputs() { const fnameValue = fname.value; const lnameValue = lname.value.trim(); const emailValue = email.value.trim(); const passwordValue = password.value.trim(); const phoneNumberValue = phoneNumber.value.trim(); if(fname.value === "") { setErrorFor(fname, "This field cannot be blank"); } else { setSuccessFor(fname); } } function setErrorFor(input, message) { const inputContainer = input.parentElement; const small = inputContainer.querySelector("small"); small.innerText = message; inputContainer.classList.add("has-error"); }

Aquí está mi HTML

 <div class="input-container-first-name"> <label for="fname">First Name</label> <input id="fname" name="fname" type="text"> <small>Error message</small> </div>
about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Es como el comentario de Andy, si no llamas a checkInputs , haz algo como esto:

 const fname = document.querySelector("#fname") const lname = document.querySelector("#lname") const email = document.querySelector("#email") const password = document.querySelector("#password") const phoneNumber = document.querySelector("#phone-number") form.addEventListener("submit", (e) => { e.preventDefault(); checkInputs() }); function checkInputs() { const fnameValue = fname.value; const lnameValue = lname.value.trim(); const emailValue = email.value.trim(); const passwordValue = password.value.trim(); const phoneNumberValue = phoneNumber.value.trim(); if (fname.value === "") { setErrorFor(fname, "This field cannot be blank"); } else { setSuccessFor(fname); } } function setErrorFor(input, message) { const inputContainer = input.parentElement; const small = inputContainer.querySelector("small"); small.innerText = message; inputContainer.classList.add("has-error"); } 

 const fname = document.querySelector("#fname") const lname = document.querySelector("#lname") const email = document.querySelector("#email") const password = document.querySelector("#password") const phoneNumber = document.querySelector("#phone-number") const form = document.querySelector("#form") form.addEventListener("submit", (e) => { e.preventDefault(); checkInputs() }); function checkInputs() { const fnameValue = fname.value; if (fnameValue === "") { setErrorFor(fname, "This field cannot be blank"); } else { setSuccessFor(fname); } } function setErrorFor(input, message) { const inputContainer = input.parentElement; const small = inputContainer.querySelector("small"); small.innerText = message; inputContainer.classList.add("has-error"); }
 <div class="input-container-first-name"> <form id="form"> <label for="fname">First Name</label> <input id="fname" name="fname" type="text"> <small>Error message</small> <button type="submit">Submit</button> </form> </div>

en este código, las entradas están llamando a su evento de envío.

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