Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Impedir botão de enviar formulário

Olá!

Estou tentando evitar que um botão submit envie o formulário quando houver algum erro no mesmo, porém não estou conseguindo. Segue o código:

botao.addEventListener('click', function (event) {

    validaNome();
    validaEmail();
    validaAssunto();
    validaMensagem();

    if (
        (validaNome) ||
        (validaEmail) ||
        (validaAssunto) ||
        (validaMensagem)
    ) {
        // se todas funções forem true, envia formulário
        return;
    }
    else {
        // se alguma função for false, não envia formulário
        event.preventDefault();
    }
});

Agradeço se alguém puder ajudar. :)

2 respostas
solução!

Olá Vinicius!

Não sou especialista mas tentarei te ajudar blz?

Estou achando uma coisa estranha no código, você está chamando a função duas vezes, antes e dentro do if.

Você já tentou rodar a função dentro da condicional?

Tipo assim:

if (
        (validaNome()) ||
        (validaEmail()) ||
        (validaAssunto()) ||
        (validaMensagem())
    ) {

Ai você remove o de cima.

Pode ser que está dando algum problema nisso.

Aguardo seu retorno!

Muito obrigado Guilherme. Era isso mesmo o erro. Valeu!!