Mam formularz, który ma przycisk, który przesyła formularz. Muszę coś zrobić, zanim nastąpi przesłanie. Próbowałem zrobić onClick na ten przycisk, ale dzieje się to po przesłaniu.
Nie mogę udostępnić kodu, ale generalnie co powinienem zrobić w jQuery lub JS, aby sobie z tym poradzić?
javascript
jquery
html
Jimmy
źródło
źródło
Odpowiedzi:
Jeśli masz taki formularz:
Możesz użyć następującego kodu jQuery, aby zrobić coś przed przesłaniem formularza:
źródło
submit
funkcja nie powinna mieć możliwości bezpośredniego powiązania z operatorem$('#form')
bez otaczającej funkcji pustej? EDYCJA: dokumentacja sugeruje, że wywołanie funkcji otaczającej nie jest potrzebne .$(document).ready()
funkcji jQuery , która zapewnia, że DOM jest kompletny przed dołączeniemsubmit
zdarzenia. Jeśli Twój JS znajduje się na dole strony, nie jest to konieczne, ale jeśli znajduje się w<head>
sekcji, potrzebujesz go. Zobacz: stackoverflow.com/q/13062246/135108Zakładając, że masz taki formularz:
Możesz dołączyć
onsubmit
-event do jQuery w następujący sposób:Jeśli
return false
formularz nie zostanie przesłany po funkcji, jeśli zwrócisz wartość true lub nic, zostanie on przesłany jak zwykle.Więcej informacji można znaleźć w dokumentacji jQuery .
źródło
Możesz użyć
onclick
do uruchomienia kodu JavaScript lub jQuery przed przesłaniem formularza w następujący sposób:źródło
upewnij się, że przycisk przesyłania nie jest typu „wyślij”, uczyń go przyciskiem. Następnie użyj zdarzenia onclick, aby wywołać skrypt javascript. Tam możesz zrobić, co chcesz, zanim faktycznie opublikujesz swoje dane.
źródło
onsubmit
z postaci , która będzie ogień bez względu na to, w jaki sposób formularz jest składany.