1
resposta

Dúvida sobre o funcionamento do botão salvar

Estou em dúvida em relação ao botão de salvar e o envio do formulário. Como que está atribuído o envio do formulário ao botão de salvar? No caso, na estrutura do HTML o botão de salvar não teria que ter o atributo type="submit"?

1 resposta

Olá, Arthur! Tudo bem?

Você está certo em pensar que o botão de salvar normalmente precisa ter o atributo type="submit" para disparar o evento submit do formulário. Mas, nesse caso, o botão não precisa ser o responsável por disparar o evento pois recorremos ao JavaScript. O formulário em si está configurado para ouvir o evento submit e executar uma função quando ele for disparado.

No nosso código JavaScript, estamos usando o método addEventListener('submit', ...) para dizer ao formulário: "Quando você receber um evento submit, execute a função dentro do addEventListener". Então, quando você clica no botão de salvar, o navegador não está disparando o evento submit diretamente no botão. O que acontece é que o clique no botão dispara um evento de clique no próprio formulário. Como o formulário está ouvindo o evento submit, a função dentro do addEventListener é executada.

Em outras palavras, o formulário está sempre "esperando" por um evento do tipo submit e, quando se dá a interação com o formulário, ele é disparado e executa a função que foi definida no addEventListener.

Para testar essa ideia, você pode tentar remover o addEventListener('submit', ...) do código e ver se o evento submit ainda é disparado quando o botão de salvar é clicado.

Espero que essa explicação tenha ajudado a esclarecer a sua dúvida! Caso tenha dúvidas, conte com o fórum!

Um aabraço e bons estudos!