Ok, więc umieszczenie preventDefault na przycisku wysyłania działa, aby zatrzymać wysyłanie formularza. Konsekwencją tego jest to, że nie powie użytkownikowi wymaganych pól i po prostu wykona zdarzenie click na przycisku.Połącz jQuery preventDefault i wymagane dane wejściowe formularza
Dodanie funkcji preventDefault do procedury przesyłania powoduje wyświetlenie użytkownikowi wymaganych pól, ale nadal wywołuje zdarzenie kliknięcia powiązane z przyciskiem.
Potrzebuję obu.
<form action="" method="post">
<input type="text" class="class" id="id" name="name" required="required" />
</form>
Teraz JS:
$("button").click(function(event){
event.preventDefault();
//performs function
});
To będzie ognia zdarzenie kliknięcia, niezależnie od wymaganego wkładu formularza.
$("form").submit(function(event){
event.preventDefault();
});
$("button").click(function(){
//performs function
});
Spowoduje to wyświetlenie użytkownikowi wymaganego komunikatu, ale nadal będzie działał przycisk Wyślij. Jak zrobić oba? Spojrzałem na kilka innych pytań SO można znaleźć na ten temat, ale wydaje się, że większość można odpowiedzieć, dodając preventDefault do form.submit.
Spróbuj to '$ ("Form") przedstawia (function() {zdarzeń return false; });.' –