Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [jQuery] Submit formularza dopiero po 2x kliknięciu
Barn
post
Post #1





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 19.05.2009

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


Witam,

Mam prostą funkcję, która sprawdza czy login już jest w bazie i jeśli tak podświetla jeden z paragrafów na czerwono. W przeciwnym wypadku powinna pozwolić na submit formularza.

  1. $("#form_login").submit(function()
  2. {
  3.  
  4. $.post("logvalid.php", { login:$("#r_login").val() }, function(data) {
  5. if(data == "arr")
  6. fs = 1;
  7. else if(data == "nay") {
  8. $('[name=l_login]').css("color","red");
  9. fs = 0;
  10. }
  11.  
  12. });
  13.  
  14. if(fs == 1)
  15. return true;
  16. else
  17. return false;
  18. });


Jeśli login istnieje, nie ma problemu, faktycznie paragraf świeci się na czerwono. Jednak jeśli login jest nowy i chciałbym go zapisać, muszę po jego wpisaniu najpierw raz przycisnąć przycisk submit, i potem jeszcze raz i dopiero wtedy jest zapisywany. Czy robię coś nie tak ze zmienną fs?
Go to the top of the page
+Quote Post
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Ajax wykonuje się asynchronicznie. Twój return wykonuje się zanim ajax się wykona. A skoro tak to zawsze idzie return false, fs nie jest jeszcze ustawione
Albo przestaw ajaxa na synchronicznego
Albo sprawdzaj login zaraz po wpisaniu


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
Barn
post
Post #3





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 19.05.2009

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


Faktycznie, przeoczyłem to. Zamiast tego rozwiazania zastosowałem blur() po wpisywaniu loginu. Dzięki za wyjaśnienie.
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 Aktualny czas: 20.08.2025 - 04:37