Pierwsza odpowiedź to najlepsze rozwiązanie:
Dodaj procedurę obsługi onsubmit do formularza (za pomocą zwykłego js lub jquery $ (). Submit (fn)) i zwróć wartość false, chyba że zostaną spełnione określone warunki.
Bardziej szczegółowo z jQuery:
$('#your-form-id').submit(function(){return false;});
Chyba że nigdy nie chcesz, aby formularz był przesyłany - w takim przypadku dlaczego nie po prostu pominąć atrybutu „action” w elemencie formularza?
Pisanie rozszerzeń Chrome to przykład, w którym możesz mieć formularz do wprowadzania danych przez użytkownika, ale nie chcesz, aby był przesyłany. Jeśli użyjesz action = "javascript: void (0);", kod prawdopodobnie będzie działał, ale skończysz z tym problemem, w którym pojawi się błąd związany z uruchamianiem wbudowanego JavaScript.
Jeśli całkowicie pominiesz tę czynność, formularz zostanie ponownie załadowany, co jest również niepożądane w niektórych przypadkach podczas pisania rozszerzenia Chrome. Lub jeśli masz stronę internetową z jakimś wbudowanym kalkulatorem, w którym użytkownik wprowadzałby pewne dane wejściowe i klikał „Oblicz” lub coś w tym rodzaju.