Quiero escribir mi propia biblioteca de JavaScript de validación de formularios y he estado buscando en Google cómo detectar si se hace clic en un botón de envío, pero todo lo que encontré es un código donde tienes que usar onClick onSubmit="function()"
en html.
Me gustaría crear este javascript para no tener que tocar ningún código html como agregar onSubmit o onClick javascript.
javascript
forms
validation
ed1t
fuente
fuente
document.forms['yourForm'].onsubmit = function(){}
? OaddEventListener
?Respuestas:
¿Por qué la gente siempre usa jQuery cuando no es necesario?
¿Por qué la gente no puede usar JavaScript simple?
callback
es una función a la que desea llamar cuando se envía el formulario.Acerca de
EventTarget.addEventListener
, consulte esta documentación en MDN .Para cancelar el
submit
evento nativo (evitar que se envíe el formulario), use.preventDefault()
en su función de devolución de llamada,Escuchando el
submit
evento con bibliotecasSi por alguna razón ha decidido que una biblioteca es necesaria (ya está usando una o no quiere lidiar con problemas entre navegadores), aquí hay una lista de formas de escuchar el evento de envío en bibliotecas comunes:
jQuery
¿Dónde
ele
está la referencia del elemento de formulario ycallback
la referencia de la función de devolución de llamada? ReferenciaMostrar fragmento de código
AngularJS (1.x)
Muy sencillo, ¿dónde
$scope
está el alcance proporcionado por el marco dentro de su controlador ? ReferenciaReaccionar
Simplemente pase un controlador al
onSubmit
accesorio. ReferenciaOtros marcos / bibliotecas
Consulte la documentación de su marco.
Validación
Siempre puede hacer su validación en JavaScript, pero con HTML5 también tenemos validación nativa.
¡Ni siquiera necesitas JavaScript! Siempre que la validación nativa no sea compatible, puede recurrir a un validador de JavaScript.
Demostración: http://jsfiddle.net/DerekL/L23wmo1L/
fuente
Esta es la forma más sencilla en la que se puede llamar a su propia función de JavaScript cuando
onSubmit
ocurre una .HTML
JavaScript
fuente
bind
De hecho es innecesario.Según sus requisitos, también puede hacer lo siguiente sin bibliotecas como jQuery:
Agregue esto a su cabeza:
Y su formulario aún puede verse algo así como:
fuente
addEventListener
lugar de onsubmit u onload para permitir que otros desarrolladores agreguen sus propios oyentes.Con jQuery:
fuente