Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> jQuery i funkcja click
esiek
post 29.01.2018, 22:24:39
Post #1





Grupa: Zarejestrowani
Postów: 64
Pomógł: 0
Dołączył: 6.11.2008
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


W uproszczeniu kod wygląda tak

  1. $('#sendForm').click(function(event){
  2.  
  3. // JAKAŚ TAM WALIDACJA FORMULARZA
  4. if(bledy>0)
  5. {
  6. $('html, body').animate({
  7. scrollTop: $("#form").offset().top
  8. }, 300);
  9. return false;
  10. }
  11. else
  12. {
  13. $('#sendForm').css('display', 'none'); // ta część kodu się nie wykonuje
  14. $('#waitSend').css('display', 'block'); // ta część kodu się nie wykonuje
  15. return true;
  16. }
  17.  
  18. });


Po kliknięciu "wyślij formularz" jeżeli w formularzu są błędy wysylanie submit zostaje zatrzymane przez return false;. Niestety ta część odpowiedzialna za return true; i kod w kalmerkach else się nie wykonuje tylko zwyczajnie czeka na załadowanie strony.

Ostatecznie potrzebuję to, aby po wysłaniu formularza zamówienia usunąć przycisk "wyślij formularz", aby klient czekając na request z serwera w nerwach nie klikał pierdyliard razy bo później mi wyskakuje kilka takich samych zleceń.

Ten post edytował esiek 29.01.2018, 22:25:35
Go to the top of the page
+Quote Post
gitbejbe
post 30.01.2018, 18:16:34
Post #2





Grupa: Zarejestrowani
Postów: 406
Pomógł: 41
Dołączył: 27.08.2012

Ostrzeżenie: (0%)
-----


Tak na szybko
  1.  
  2. var wyslano = false;
  3.  
  4. $( "#sendForm" ).on('submit', function(event) {
  5.  
  6. if (bledy) {
  7. ...
  8. }
  9. else if(wyslano == false){
  10. wyslano = true;
  11.  
  12. $('#sendForm').css('display', 'none');
  13. $('#waitSend').css('display', 'block');
  14.  
  15. return true;
  16. }
  17.  
  18. return false;
  19.  
  20. });
  21.  
Go to the top of the page
+Quote Post
esiek
post 30.01.2018, 23:25:08
Post #3





Grupa: Zarejestrowani
Postów: 64
Pomógł: 0
Dołączył: 6.11.2008
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Dziękuje za odpowiedź ale przyznam, że nie sprawdzałem nawet. Ostatecznie po wykonaniu walidacji w klamerkach użyłem $.post, gdzie serwer zwraca mi link do zamówienia po jego utworzeniu. Na zwróconą wartość z $.post przekierowuję klienta i sprawa się rozwiązuje. W razie wyłącznie JS wszystko przechodzi na serwer i jest ok. Walidacja po stronie przeglądarki jest taka sama jak po stronie serwera wiec nie powinno być problemów.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 23.10.2018 - 23:57