Gente, acabei de ver um cara falar pra trocar o <form> por uma <div> pra cessar o trigger do evento ao clicar no botão, nunca, sob hipótese alguma, substituam o elemento form por outra coisa, segue o porquê:
1 - Você perde a lista gigante de métodos disponíveis no elemento form (HTMLFormElement), na dúvida? Abre seu devTools e no console digite:
`dir(HTMLFormElement)`
Em seguida acesse o grupo `prototype` dele:
Tal como a <div> ele herda muitos métodos do prototype HTMLElement, mas ele tem métodos próprios valiosíssimos:
esse `elements` é uma maneira muito limpa de acessar o seu formulário sem ficar catando de um por um via querySelector.
- checkValidity
O método checkValidity quando em um formulário aplica as validações que você colocou nos inputs via atributos (required, max, min, pattern ...)
Ele dispara todas essas restrições e coloca o atributo "valid" ou "invalid" no seu formulário. Esses atributos por sua vez são acessíveis pelo CSS via
- Apenas no IOS há suporte pro atributo `autocapitalize` que faz exatamente isso que vc tá pensando
- Você consegue habilitar o autocomplete do navegador pra todos os elementos do form simultaneamente passando essa propriedade
- a `action`recebe a URL bunitinha que vai receber as informações pelo método que tu especificou em `method` e com o enctype que tu especificou em `enctype`
- redirecionar pra outra página no submit? Isso é cousa do atributo `target`
E vamos falar sobre as propriedades `position` e como usá-las sem fuder o seu layout e causar traumas pra vida inteira, a thread 🧵
Qual a diferença entre os dois?
Ao definir qualquer position que não static, você habilita os controles de posição (Y: top bottom, X: left right), esses controles começam zerados e com eles você movimenta seu elemento nas dimensões X e Y da página.
A diferença entre relative e absolute é o que é a posição (0, 0) do elemento posicionado.
No caso de `relative`, a posição padrão (0, 0) é o local atual do elemento, à partir do canto superior esquerdo dele. Por isso que ao colocar `position: relative` o elemento n sai do lugar