Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [JavaScript] Return w funkcji JS
wujek2009
post 5.09.2010, 11:24:23
Post #1





Grupa: Zarejestrowani
Postów: 350
Pomógł: 31
Dołączył: 23.05.2010

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


Hej. Borykam się z problemem funkcji JAVASCRIPT, otóż gdy próbuje wywołać funkcje "checkSidLog" w funkcji "checkForm", ale "checkSidLog" nic nie zwraca (próbowałem alert(checkSidLog()), wynik "undefined"), ale...

Gdy w funkcji "checkSidLogFinal()" przed "return true;" dodam alert('test'); a w funkcji "checkForm()" wywołam funkcje "checkSidLog()" to zwróci mi mój alert.

W skrócie pisząc co chce osiągnąć: Chce w checkForm() sprawdzić co zwraca checkSidLog(), aby później dopisać sobie odpowiednie warunki IF.

Kod
    function checkSidLog() {
        // request
        http.open('GET', 'index.php?checkSid', true);
        http.setRequestHeader('Sidauth', 'sid_auth');
        http.onreadystatechange = [b]checkSidLogFinal[/b];
        http.send(null);
    }

    function checkSidLogFinal() {
        if (http.readyState == 4 && http.responseText == 'USER_OFF') {
            return true;
        }
    }

function checkForm()
{
    formErrors = false;
    
    if (document.post.message.value.length < 2)
    {
        formErrors = l_empty_message;
    }
    
    [b]checkSidLog();[/b] // i jak uzyskać wynik z tej funkcji?

    if (formErrors)
    {
        alert(formErrors);
        return false;
    }
}


Ten post edytował wujek2009 5.09.2010, 11:25:40
Go to the top of the page
+Quote Post
#luq
post 5.09.2010, 11:41:23
Post #2





Grupa: Zarejestrowani
Postów: 589
Pomógł: 91
Dołączył: 22.05.2008
Skąd: Gliwice

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


Nie wiem czym się tu dziwić, funkcja checkSidLog nic nie zwraca. onreadystatechange to zdarzenie i biegnie swoim tokiem, na tym polega asynchroniczność przecież.

@edit:
Zobacz sobie parametry metody open() obiekt XHR

Ten post edytował #luq 5.09.2010, 11:45:03


--------------------
Moja gra - scraby.io
Go to the top of the page
+Quote Post
wujek2009
post 5.09.2010, 11:57:52
Post #3





Grupa: Zarejestrowani
Postów: 350
Pomógł: 31
Dołączył: 23.05.2010

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


OK rozwiązałem problem. Ograniczyłem się nawet do jednej funkcji, zamiast rozbijać to na dwie smile.gif
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: 19.07.2025 - 21:04