Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Problem przy podmianie obrazków
wlq
post 30.06.2008, 16:55:27
Post #1





Grupa: Zarejestrowani
Postów: 21
Pomógł: 0
Dołączył: 5.07.2006

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


Hej,
chciałem zrobić skrypt, który rozpoznaje miasto po wpisaniu kodu. Wszystko działa, tylko nie wiem czemu, nie działa poprawnie ładowanie obrazków(łądowanie strony, załadowano, nie załadowano).
Poniżej zamieszczam kod.
  1. if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
  2. {
  3. var cities = document.getElementById('city');
  4. var loaded = false;
  5. var city = "";
  6. var text = xmlHttp.responseText.toLowerCase().replace(/^\s+/g, '').replace(/\s+$/g, '');
  7.  
  8. for(var i=0; i<cities.length; i++) {
  9. city = document.forms['register'].city.options[i].value.toLowerCase().replace(/^\s+/g, '').replace(/\s+$/g, '');
  10.  
  11. if (city == text)
  12. {
  13. document.forms['register'].city.options[i].selected = true;
  14. loaded = true;
  15. }
  16.  
  17. }
  18.  
  19. if (loaded) {
  20. document.getElementById("cityLog").innerHTML="<img src=\"images/loaded.jpeg\" height=\"15\" width=\"15\" alt=\"Pobrano\">"
  21.  
  22. }
  23. else {
  24. document.getElementById("cityLog").innerHTML="<img src=\"images/nloaded.jpg\" height=\"15\" width=\"15\" alt=\"Brak kodu w bazie\">"
  25. }
  26. }

Zawsze pokazuje obrazek, że załadowano, tak jakby wogóle zawsze było spełnione
  1. if (city == text)
  2. {
  3. document.forms['register'].city.options[i].selected = true;
  4. loaded = true;
  5. }

i zawsze była przypisana loaded = true;
Macie może jakieś pomysły, gdzie jest błąd?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
ddiceman
post 24.07.2008, 11:08:49
Post #2





Grupa: Zarejestrowani
Postów: 326
Pomógł: 121
Dołączył: 23.07.2008
Skąd: Wrocław

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


Dodaj sobie w tym warunku
  1. if (city == text)
  2. {
  3. document.forms['register'].city.options.selected = true;
  4. loaded = true;
  5. }


linie

  1. alert(city);
  2. alert(text);


Wydaje mi sie, ze masz problem z

  1. var text = xmlHttp.responseText.toLowerCase().replace(/^\s+/g, '').replace(/\s+$/g, '');


Zwlaszcza podejrzanie mi wyglada [i]toLowerCase
(czy to replace... nie powinno byc argumentem funkcjio toLowerCase -> byc w nawiasie?
Zobacz zatem, czy aby i city i text nie sa puste.
Go to the top of the page
+Quote Post
paziek
post 24.07.2008, 18:47:56
Post #3





Grupa: Zarejestrowani
Postów: 207
Pomógł: 25
Dołączył: 16.11.2006

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


toLowerCase() nie przyjmuje żadnych parametrów. Ten kod jest akurat dobry ( toLowerCase() oraz replace() ), aczkolwiek sprawdzenie wartości przy pomocy alertów nie jest złą sugestią.
http://developer.mozilla.org/en/docs/Core_...ing:toLowerCase
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: 14.08.2025 - 13:24