SwiftHTML & CSSSolidityDesenvolvimento de JogosSolana/Rust
08.01.2025

Como Evitar o Envio de Formulário com um Botão em HTML e JS

Resposta Rápida

Para evitar que um formulário seja enviado quando um botão é clicado, utilize o atributo <button type="button">:

<button type="button">Sem envio hoje</button>

Este botão não inicia o envio de dados devido ao atributo type="button".

Você pode pensar nesse botão como um funcionário em uma sexta-feira à noite: em vez de cumprir sua função principal—enviar os dados do formulário—ele decide tirar uma folga e não faz nada.

Diferentes Tipos de Botões

Existem vários tipos de botões:

  1. type="submit" – ativo e ansioso para submeter seus dados rapidamente.
  2. type="button" – botão inativo que ignora o envio do formulário, mas é perfeito para ações em JavaScript.
  3. type="reset" – um botão que reinicia os valores de todos os campos para seu estado inicial.

Assim como em uma entrevista de emprego, especifique claramente o tipo de cada botão para evitar confusão.

Usando o Evento onclick

O evento onclick é uma ferramenta para executar funções em JavaScript:

<button type="button" onclick="customFunction()">Clique se você tiver coragem</button>

Aqui, customFunction() é sua assistente confiável que executa todos os seus comandos no espaço JavaScript assim que você pressiona o botão.

Se você não especificar type="button", deve incluir return false; no manipulador onclick para prevenir o envio:

<button onclick="customFunction(); return false;">Nem tente clicar</button>

A Necessidade de Consistência Entre Navegadores

Assim como um viajante experiente bem familiarizado com as peculiaridades de diferentes países, você deve lembrar que os navegadores tratam os botões de maneira diferente. Especificar type="button" garante um comportamento de formulário idêntico em qualquer navegador.

Alternativas ao Elemento Botão

Se você está procurando alternativas aos botões comuns, pode considerar um span com um manipulador onclick. Mas lembre-se de que é importante manter a semântica HTML:

<span onclick="customFunction()">Incrível, mas este elemento é clicável!</span>

Visualização

Imagine um sinal de PARADA 🛑:

+-------------------+
|                   |
|      🛑 Pare!     |
|                   |
+-------------------+

Botão de envio padrão: Isso é semelhante a um semáforo verde. Você pressiona, e os dados (🚗➡️🚛➡️🏎️) deixam você, desaparecendo nas vastas extensões da internet (🏢).

<button type="submit">Como um semáforo verde – 🚗➡️🚛➡️🏎️ ➡️ 🏢</button>

Botão com o atributo button: Este botão especial encarna o sinal de PARADA 🛑.

<button type="button">O que é isso? Um pássaro? Um avião? Não, é um botão que não envia dados! 🚗🚛🏎️ 🛑</button> 

Uso Eficaz do Botão em HTML

Formulários Interativos sem Envio

Às vezes, não há necessidade de enviar dados. Uma interface de usuário ativa que não requer recarregamento da página é um caso típico para jogos online, questionários ou pesquisas. Nessas situações, os botões proporcionam controle por meio de scripts do lado do cliente.

Usando Botões Fora do Contexto de Formulário

Os botões podem ser usados para várias ações na página: para mostrar e esconder conteúdo, acionar animações, ou interagir com elementos do DOM.

Validação de Dados Antes do Envio

Enquanto o formulário não tiver deixado o lado do cliente, os botões podem agir como ferramentas para verificar e corrigir dados. Isso ajuda a evitar solicitações desnecessárias ao servidor, melhora a interface do usuário, e facilita a validação.

Recursos Úteis

  1. HTMLFormElement: evento submit - Web API | MDN – Explica como trabalhar com eventos de envio em formulários HTML.
  2. preventDefault() Método de Evento - W3Schools – Detalha como prevenir ações padrão de eventos, especialmente ao trabalhar com formulários.
  3. Validação de Formulário HTML5 — SitePoint – Oferece recomendações sobre a implementação de validação de dados de formulários usando recursos do HTML5.
  4. Como Criar uma Lista de Tarefas - W3Schools – Demonstra um exemplo prático de criação de uma interface de interação do usuário sem envio de formulário.
  5. <button>: Elemento Botão - HTML: Linguagem de Marcação HiperTextual | MDN – Informações detalhadas sobre tipos de botões e seu comportamento no contexto de formulários.
  6. .on() | Documentação da API jQuery – Um guia para o método .on() no jQuery para manipulação de eventos, incluindo cliques em botões dentro de formulários.

Video

Did you like this article? Rate it from 1 to 5:

Thank you for voting!