Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Problem przy podmianie obrazków
Forum PHP.pl > Forum > XML, AJAX
wlq
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?
ddiceman
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.
paziek
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
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.