Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JavaScript] Return w funkcji JS
Forum PHP.pl > Forum > Przedszkole
wujek2009
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;
    }
}
#luq
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
wujek2009
OK rozwiązałem problem. Ograniczyłem się nawet do jednej funkcji, zamiast rozbijać to na dwie smile.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.