Mam formularz HTML, w którym używam kilku przycisków. Problem polega na tym, że bez względu na to, który przycisk kliknę, formularz zostanie przesłany, nawet jeśli przycisk nie jest typu „prześlij”. np. Przyciski takie jak: <button>Click to do something</button>
powodują przesłanie formularza.
Wykonanie e.preventDefault()
każdego z tych przycisków jest dość bolesne .
Używam jQuery i jQuery UI, a strona jest w HTML5.
Czy istnieje sposób na wyłączenie tego automatycznego zachowania?
javascript
html
button
form-submit
forms
Paryż
źródło
źródło
Możesz po prostu spróbować użyć return false (return false zastępuje domyślne zachowanie każdego elementu DOM) w następujący sposób:
a następnie prześlij formularz za pomocą myform.submit ()
lub alternatywnie:
Ponadto, jeśli skorzystasz
type="button"
z formularza, nie zostanie przesłany.źródło
<button>
są w rzeczywistości przyciskami przesyłania, nie mają innych głównych funkcji. Będziesz musiał ustawić typ na przycisk.Ale jeśli powiążesz moduł obsługi zdarzeń, jak poniżej, celujesz we wszystkie przyciski i nie musisz robić tego ręcznie dla każdego przycisku!
źródło
e.preventDefault();
.jeśli chcesz dodać bezpośrednio do danych wejściowych jako atrybut, użyj tego
zapobiegnie to zachowaniu formularza
źródło
inny:
źródło