Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [JavaScript]Problem z instrukcją warunkową
rummer
post
Post #1





Grupa: Zarejestrowani
Postów: 17
Pomógł: 0
Dołączył: 23.08.2009

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


Witam Mam problem z kodem sprawdzającym czy tablica zawiera szukany element.

Mam takie przykładowe dane z pliku JASON:

[{"id":"10","ean":"12345"},{"id":"11","ean":"6666"}]

A to kod JS:
  1. <!DOCTYPE html>
  2. <p id="demo"></p>
  3. <p id="demo1"></p>
  4.  
  5. var obj, dbParam, xmlhttp, myObj, x, obj,txt = "",er="nie znaleziono";
  6.  
  7. dbParam = JSON.stringify(obj);
  8. xmlhttp = new XMLHttpRequest();
  9. xmlhttp.onreadystatechange = function() {
  10.  
  11. myObj = JSON.parse(this.responseText);
  12.  
  13. for (var i = 0; i < myObj.length; i++) {
  14. if (myObj[i].ean === '6666') {
  15. obj = myObj[i];
  16.  
  17. break;
  18. }
  19. }
  20.  
  21.  
  22. if(typeof obj['ean'] === "undefined"){
  23. document.getElementById("demo1").innerHTML = er;
  24. }else
  25. {
  26. document.getElementById("demo").innerHTML = obj.id;
  27.  
  28. }
  29. };
  30. xmlhttp.open("POST", "testphp.php", true);
  31. xmlhttp.send("x=" + dbParam);
  32. </body>
  33. </html>

W tym przykładzie kod działa prawidłowo, jak nie szuka się nieistniejących danych to kod nie wyświetla er. Podpowie ktoś gdzie popełniłem błąd? A może można ten kod napisać lepiej?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 559
Pomógł: 6315
Dołączył: 27.12.2004




Napisalem, ze niezaleznie czy js czy php, to bedziesz mial ten sam problem skoro nie rozumiesz co to znaczy "niezdefiniowana" zmienna. A napisalem tak dlatego, ze chciales swoj problem rozwiazac w php skoro w js nie mogles. Jesli to dla ciebie jest bycie nieuprzejmym to twoj problem.

Dla mnie bycie nieuprzejmym to skolei:
1) Ignorowanie to co do ciebie mowia, np. powiedziano ci bys zajrzal do konsoli bledow js, czego nie uczyniles. Jakbys to zrobil, to bys dostal blad czarno na bialym
2) Moglbym sie jeszcze przyczepic o sprawdzanie linii 25 jak cie proszono, ale juz nie bede (IMG:style_emoticons/default/wink.gif)
3) Nie przydzielanie ludziom POMOGL za to, ze pomogli. Zrobie to za ciebie (IMG:style_emoticons/default/tongue.gif)

Takze to skolei jest dla mnie bycie nieuprzejmym. Ale to juz moj problem (IMG:style_emoticons/default/wink.gif)
Go to the top of the page
+Quote Post

Posty w temacie


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: 14.10.2025 - 09:55