Mam na swojej stronie duży formularz, który ładuje następną stronę nieco dłużej niż zwykle.
Czy istnieje prosty sposób na przełączenie mojego przycisku „Prześlij” na animowaną grafikę „Ładowanie ...” po kliknięciu? Właśnie dlatego użytkownik wie, że wciąż pracujemy nad przesłaniem.
Wielkie dzięki za wszelkie wskazówki,
Michael
Odpowiedzi:
1 dla odpowiedzi № 1Zazwyczaj osiąga się to przez ukrywanie lub wyłączanie przycisku submti przed wykonanie wywołania ajax, a następnie cofnięcie zmiany w pełnym module obsługi. Przykład:
$("#submit").click(function() {
$(this).hide();
$("#loading_anim").show();
$.ajax(
...,
complete: function() {
$("#submit").show();
$("#loading_anim").hide();
}
);
});
W tym przypadku przydatna jest pełna procedura obsługi, ponieważ jest uruchamiana zarówno w przypadku pomyślnej odpowiedzi, jak i odpowiedzi błędu.
1 dla odpowiedzi nr 2
Chcesz użyć jQuery prześlij moduł obsługi zdarzeń:
$("#target").submit(function() {
alert("Handler for .submit() called.");
$("#loading-overlay").show();
return false;
});