Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Problem z "podwójnym kliknięciem"
wizu
post
Post #1





Grupa: Zarejestrowani
Postów: 127
Pomógł: 15
Dołączył: 16.02.2008
Skąd: Sanok

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


Witam. Stworzyłem sobie stronkę z wykorzystaniem czystego XMLHttpRequest. Beż żadnych bibliotek.
Między innymi mam coś takiego:
Kod
function getXMLHttpRequest()
{
    var request = false;
    try
    {
        request = new XMLHttpRequest();
    } catch(err1)
    {
        try
        {
            request = new ActiveXObject('Msxml2.XMLHTTP');
        } catch(err2)
        {
            try
            {
                request = new ActiveXObject('Microsoft.XMLHTTP');
            } catch(err3)
            {
                request = false;
            }
        }
    }
  return request;
}
var r;
r = getXMLHttpRequest();

function processResponse()
{
    if (r.readyState == 4)
    {
        if (r.status == 200)
        {
            document.getElementById('glownaczesc').innerHTML = r.responseText;
        }
    }
}

I po kliknięciu w coś mam powiedzmy:
Kod
function wczytaj(funkcja)
{
    r.open('GET', 'wyswietl.php?funkcja='+funkcja, true);
    r.onreadystatechange = processResponse;
    r.send(null);
}


Wszystko działa elegancko jednak problem pojawia się, gdy mam powiedzmy dwa przyciski, które maja za zadanie wczytać w document.getElementById('glownaczesc').innerHTML dwie różne rzeczy. Klikam powiedzmy w pierszy przycisk, wczytuje się, jednak gdy nie poczekam aż się wczyta i kliknę w drugi przycisk, to wczytywanie leci w nieskończoność :/ Można coś z tym zrobić bez używania jakiś bibliotek, bo chyba nie ma sensu w moim przypadku. Z góry dzięki za pomoc.
Go to the top of the page
+Quote Post
bazyliszek83
post
Post #2





Grupa: Zarejestrowani
Postów: 81
Pomógł: 6
Dołączył: 24.07.2007
Skąd: Poznań

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


Ja bym polecał jednak coś sprawdzonego : jQuery lub Prototype. Te biblioteki są naprawdę łatwe w obsłudze i dobrze udokumentowane.

Natomiast jeśli nadal upierasz się przy swoim kodzie to proponowałbym tworzenie obiektu XMLHttpRequest przy każdym wywołaniu funkcji wczytaj.
Teraz działa to u ciebie tak że zawsze działasz na jednym obiekcie przez co np. klikając na przycisk1 i zaraz potem przycisk2 , zapytanie które poszło po kliknieciu na przycisk1 zostaje przerwane i leci zapytanie z przycisku2.

Nie zdarzyło mi się natomiast wczytywanie w nieskończoność, gdy próbowałem twój kod.


--------------------
App 4 You - Aplikacje internetowe
Go to the top of the page
+Quote Post
wizu
post
Post #3





Grupa: Zarejestrowani
Postów: 127
Pomógł: 15
Dołączył: 16.02.2008
Skąd: Sanok

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


Cytat
Teraz działa to u ciebie tak że zawsze działasz na jednym obiekcie przez co np. klikając na przycisk1 i zaraz potem przycisk2 , zapytanie które poszło po kliknieciu na przycisk1 zostaje przerwane i leci zapytanie z przycisku2.

Nie zdarzyło mi się natomiast wczytywanie w nieskończoność, gdy próbowałem twój kod.

Ja właśnie bym chciał, aby przerywało połączenie i zaczęło nowe. A teraz, to mi naprawdę wczytuje w nieskończoność.
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: 22.08.2025 - 07:50