Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: kolejność wykonywania kodu
Forum PHP.pl > Forum > Po stronie przeglądarki > JavaScript
zazdrosny17
  1. function pokliknieciu(){
  2.  
  3.  
  4. var x1 = 2;
  5.  
  6. function haha(x)
  7. {
  8.  
  9. var address = x;
  10. geocoder.geocode( { 'address': x}, function(results, status) {
  11. if (status == google.maps.GeocoderStatus.OK) {
  12.  
  13. x1 = 1;
  14.  
  15. alert("alert 2 to "+x1);
  16.  
  17. } else {
  18.  
  19. x1 = 0;
  20. }
  21. });
  22.  
  23. if(x1 != 2)
  24. {
  25. return x1;
  26. }
  27. else
  28. {
  29. haha(address);
  30. }
  31. }
  32.  
  33.  
  34.  
  35.  
  36. var x == $("#x").val();
  37. var x2 == $("#x2").val();
  38.  
  39. x1 = haha(x);
  40.  
  41.  
  42. alert("alert 1 to "+x1);
  43.  
  44. if(x == 0)
  45. {
  46. alert("x == 0");
  47. }
  48. else if(x1 == 0)
  49. {
  50. alert("x1 ==0);
  51. }
  52. else if(x2 == 0)
  53. {
  54. alert("x2 ==0);
  55. }
  56. else
  57. {
  58. //dalszy kod
  59. }



alert 1 is undefined

alert 2 to 1


najpiew wykonuje się dalsza część kodu a dopiero poźniej mam wynik z tej funkcji. jak mogę to rozwiązać questionmark.gif?
vonski
A ten kod w ogóle działa? smile.gif
W 50 i 54 linijce brakuje cudzysłowów, w 36 i 37 powinien być jeden znak równości zamiast dwóch.

A żeby działało tak jak powinno, to musisz poczekać na odpowiedź od serwera i wtedy wykonywać dalszy kod. Na pewno nie może to być rekurencyjnie, tak jak jest teraz, bo duża szansa że wykrzaczysz komuś przeglądarkę smile.gif
Generalnie "problem" polega na tym, że JS odpala tego AJAX-a i bierze się za dalszą egzekucję kodu. Dlatego jeśli cokolwiek zależy od odpowiedzi od serwera, powinno to być wykonane w tej funkcji, w której dany rezultat i status odbierasz.
zazdrosny17
ten kod działa, ogólnie jest dużo dłuższy i bardziej skomplikowany więc przepisałem żeby łatwiej się można było odnaleźć i możę popełniłem parę błędów.

generalnie chodzi o to, żeby sprawdzić czy dana miejscowość znajduje się w google maps. może jest zatem jakiś inny sposób?

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.