Chcę napisać własną bibliotekę javascript do walidacji formularzy i szukałem w Google, jak wykryć, czy został kliknięty przycisk przesyłania, ale wszystko, co znalazłem, to kod, w którym musisz użyć onClick onSubmit="function()"
w html.
Chciałbym zrobić ten skrypt javascript, aby nie musieć dotykać żadnego kodu HTML, takiego jak dodawanie javascript onSubmit lub onClick.
javascript
forms
validation
ed1t
źródło
źródło
document.forms['yourForm'].onsubmit = function(){}
? AlboaddEventListener
?Odpowiedzi:
Dlaczego ludzie zawsze używają jQuery, kiedy nie jest to konieczne?
Dlaczego ludzie nie mogą po prostu używać prostego JavaScript?
callback
to funkcja, którą chcesz wywołać podczas przesyłania formularza.Informacje
EventTarget.addEventListener
, zapoznaj się z dokumentacją na MDN .Aby anulować
submit
zdarzenie natywne (zapobiec przesłaniu formularza), użyj.preventDefault()
w funkcji wywołania zwrotnego,Wysłuchanie
submit
wydarzenia z bibliotekamiJeśli z jakiegoś powodu zdecydowałeś, że biblioteka jest konieczna (już z niej korzystasz lub nie chcesz zajmować się problemami z różnymi przeglądarkami), oto lista sposobów odsłuchiwania zdarzenia przesyłania we wspólnych bibliotekach:
jQuery
Gdzie
ele
jest odwołaniem do elementu formularza icallback
jest odwołaniem do funkcji zwrotnej. OdniesieniePokaż fragment kodu
AngularJS (1.x)
Bardzo proste, gdzie
$scope
jest zakres zapewniany przez strukturę wewnątrz twojego kontrolera . OdniesienieReagować
Po prostu podaj obsługę do
onSubmit
rekwizytu. OdniesienieInne frameworki / biblioteki
Zapoznaj się z dokumentacją swojego frameworka.
Uprawomocnienie
Zawsze możesz przeprowadzić walidację w JavaScript, ale w HTML5 mamy również natywną walidację.
Nie potrzebujesz nawet JavaScript! Jeśli natywna walidacja nie jest obsługiwana, możesz wrócić do walidatora JavaScript.
Demo: http://jsfiddle.net/DerekL/L23wmo1L/
źródło
To najprostszy sposób, w jaki można wywołać własną funkcję javascript, gdy
onSubmit
wystąpi błąd.HTML
JavaScript
źródło
bind
jest rzeczywiście niepotrzebne.W zależności od wymagań możesz również wykonać następujące czynności bez bibliotek, takich jak jQuery:
Dodaj to do swojej głowy:
Twój formularz może nadal wyglądać następująco:
źródło
addEventListener
zamiast onsubmit lub onload, aby umożliwić innym programistom dodawanie własnych słuchaczy.Dzięki jQuery:
źródło