![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 278 Pomógł: 35 Dołączył: 25.06.2010 Ostrzeżenie: (0%) ![]() ![]() |
Napisałem w jQuery funkcję która będzie sprawdzała na bieżąco czy wpisany przez użytkownika login jest wolny.
Funkcja pobiera wartość z input-a "a". Za pomocą getJSON wysyła owy login do skryptu, który sprawdza czy w bazie takowy już istnieje. Jeśli login istnieje, w divie o id #log wyświetlana jest informacja "login wolny" (czyli odpowiedź data.logres), w przeciwnym razie mamy wiadomość że login zajęty. I to działa bez zarzutu.. Kod wygląda następująco: (kod #1)
Ale zależy mi aby sama funkcja oprócz wypisywania info na temat loginu zwracała true gdy login wolny i false gdy zajęty. JSON zwraca w tym celu dodatkowy parametr data.ret - równy powiedzmy 0 gdy login zajęty i 1 gdy wolny. Schody zaczynają się gdy chce uzależnić wynik funkcji od tej że zmiennej. Próba pierwsza wyglądała tak : (kod #2)
Nie zadziałało... Podejście drugie: (kod #3)
Tu też nie zadziałało, bo zmienna została zdefiniowana w getJSON i na zewnątrz nie ma do niej dostępu... Wszystko utrudnia jeszcze fakt że przy asynchronicznym działaniu skrypt nie czeka na wykonanie $.getJSON Mimo wszystko wydaje mi się że rozwiązanie nie jest jakoś masakrycznie trudne i kod nr 2 jest najbliżej bycia prawidłowym... W każdym razie proszę o pomoc bo sam prędzej osiwieje ... (IMG:style_emoticons/default/winksmiley.jpg) |
|
|
![]()
Post
#2
|
|
Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 278 Pomógł: 35 Dołączył: 25.06.2010 Ostrzeżenie: (0%) ![]() ![]() |
Więc sporządziłem coś takiego:
Spodziewałem się poprzez wywołanie drugiej funkcji uruchomić pierwszą, która wypisze co ma wypisać. A druga w tym samym czasie zwróci true lub false.... ale nie działa... [Edit] Po chwili namysłu... powyższy kod nie ma prawa działać (IMG:style_emoticons/default/biggrin.gif) W każdym razie poradziłem sobie i wszystko już działa jak należy. Dzięki za linka! Ten post edytował gargamel 20.10.2010, 23:31:44 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 23.08.2025 - 07:52 |