Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

140
Visualizações
Creé una función de validación de formulario de correo electrónico que muestra un mensaje de alerta pero no estoy satisfecho

Creé la función para mostrar el mensaje de alerta al presionar una tecla, luego, si el usuario no incluye "@" en el campo, debería seguir mostrándose, pero una vez que se agrega "@", el mensaje de alerta debería desaparecer.

Aquí está el código:

 function makeHappen() { var take = document.getElementById('emailID'); var a = document.getElementById("alert3second"); if (!take.value.indexOf("@") > -1) { a.style.display = "block" } else { a.style.display = "none" } }
 <div class="form-group"> <input type="email" class="form-control font-weight-bold" placeholder="YOUR EMAIL ADDRESS" id="emailID" onclick="formValidator2()" name="budget3" onkeypress="makeHappen()" required> <div id="alert3" class="alert-danger"> <i class="fa fa-warning pr-2 pt-1"></i> Please Your email address is required </div> <div id="alert3second" class="alert-danger"> <i class="fa fa-warning pr-2 pt-1"></i> Enter a valid email </div> </div>

about 4 years ago · Juan Pablo Isaza
2 Respostas
Responde à pergunta

0

La lógica de su declaración if debe aclararse:

 if (take.value.indexOf('@') == -1)

Puede probar esto ejecutando su instrucción if actual de esta manera:

 > !"hello".indexOf("@") > -1 true > !"hello@".indexOf("@") > -1 true

Probablemente señalaría que deberías nombrar tus variables un poco mejor. ¿Tal vez en lugar de 'tomar' deberías llamarlo ID de correo electrónico?

 function validateEmail() { var emailId = document.getElementById('emailID').value; var errorMsg = document.getElementById('alert3second'); if (emailId.indexOf('@') == -1) { errorMsg.style.display = 'block'; } else { errorMsg.style.display = 'none'; } }
about 4 years ago · Juan Pablo Isaza Relatório

0

en lugar de usar onkeypress usa onkeyup

El atributo onkeyup se activa cuando el usuario suelta una tecla (en el teclado). https://www.w3schools.com/tags/ev_onkeyup.asp

y agregue style="display:none;" a alert3second div para que el mensaje desaparezca cuando no hay valor en la entrada

 function makeHappen() { var take = document.getElementById('emailID'); var a = document.getElementById("alert3second"); if (take.value.indexOf("@") == -1) { a.style.display = "block" } else { a.style.display = "none" } }
 <div class="form-group"> <input type="email" class="form-control font-weight-bold" placeholder="YOUR EMAIL ADDRESS" id="emailID" onclick="formValidator2()" name="budget3" onkeyup="makeHappen()" required> <div id="alert3" class="alert-danger"> <i class="fa fa-warning pr-2 pt-1"></i> Please Your email address is required </div> <div id="alert3second" class="alert-danger" style="display:none;"> <i class="fa fa-warning pr-2 pt-1"></i> Enter a valid email </div> </div>

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda