Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [JavaScript] Return w funkcji JS
wujek2009
post
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
 
Start new topic
Odpowiedzi (1 - 2)
#luq
post
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
Go to the top of the page
+Quote Post
wujek2009
post
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 (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 23.08.2025 - 09:10