Eu quero escrever minha própria biblioteca javascript de validação de formulário e eu estive procurando no google como detectar se um botão de envio é clicado, mas tudo o que encontrei foi o código em que você deve usar o onClick onSubmit="function()"
em html.
Gostaria de criar esse javascript para não precisar tocar em nenhum código html, como adicionar javascript onSubmit ou onClick.
javascript
forms
validation
ed1t
fonte
fonte
document.forms['yourForm'].onsubmit = function(){}
? OuaddEventListener
?Respostas:
Por que as pessoas sempre usam jQuery quando não é necessário?
Por que as pessoas não podem simplesmente usar JavaScript simples?
callback
é uma função que você deseja chamar quando o formulário está sendo enviado.Sobre
EventTarget.addEventListener
, confira esta documentação no MDN .Para cancelar o
submit
evento nativo (impedir que o formulário seja enviado), use.preventDefault()
na sua função de retorno de chamada,Ouvindo o
submit
evento com bibliotecasSe, por algum motivo, você decidiu que uma biblioteca é necessária (você já está usando uma ou não quer lidar com problemas entre navegadores), veja uma lista de maneiras de ouvir o evento de envio em bibliotecas comuns:
jQuery
Onde
ele
está a referência do elemento do formulário ecallback
sendo a referência da função de retorno de chamada. ReferênciaMostrar snippet de código
AngularJS (1.x)
Muito simples, onde
$scope
está o escopo fornecido pela estrutura dentro do seu controlador . ReferênciaReagir
Basta passar um manipulador para o
onSubmit
suporte. ReferênciaOutras estruturas / bibliotecas
Consulte a documentação da sua estrutura.
Validação
Você sempre pode fazer sua validação em JavaScript, mas com HTML5 também temos validação nativa.
Você nem precisa de JavaScript! Sempre que a validação nativa não for suportada, você poderá fazer o fallback para um validador JavaScript.
Demonstração: http://jsfiddle.net/DerekL/L23wmo1L/
fonte
Essa é a maneira mais simples de chamar sua própria função javascript quando
onSubmit
ocorrer uma .HTML
Javascript
fonte
bind
é realmente desnecessário.Com base nos seus requisitos, você também pode fazer o seguinte sem bibliotecas como o jQuery:
Adicione isso à sua cabeça:
E seu formulário ainda pode ser algo como:
fonte
addEventListener
vez de submeter ou carregar para permitir que outros desenvolvedores adicionem seus próprios ouvintes.Com jQuery:
fonte