Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Operator porównania wariuje ;)
Forum PHP.pl > Forum > XML, AJAX > AJAX
mskiba
Nie wiem dlaczego operator porównania mi wariuje, mam kod:

  1. $(document).ready(function() {
  2. $('#catalog_parts_parts_show').submit(function() {
  3. var dostepne = $('#dostepne').val();
  4. var id_parts = $('#id_parts').val();
  5. var ilosc = $('#ilosc').val();
  6.  
  7. if(ilosc == '0' | ilosc == "")
  8. {
  9. alert("Podaj ilość");
  10. }
  11. else{
  12. if(dostepne < ilosc)
  13. {
  14. alert("Dostępnych jest tylko: "+dostepne+" sztuk");
  15. $('#ilosc').val(dostepne);
  16. }
  17. else{
  18. $.ajax({
  19. url: './scripts/basket_shop_add.php',
  20. type: 'POST',
  21. data: 'id_parts='+id_parts+'&ilosc='+ilosc,
  22. success: function() {
  23. $('#koszyk').load('./scripts/dba_catalog_parts_parts_show.php?id_parts='+id_parts+' #koszyk', function() {
  24. $('#ilosc').val(ilosc);
  25. alert("Dodano do koszyka");
  26. });
  27. }
  28. });
  29. }
  30. }
  31. return false;
  32. });
  33. });


jezeli ilosc jest puste lub jest 0, dziala ok, jest alert "podaj ilosc"

Problem pojawia sie tutaj: if(dostepne < ilosc), nie wazne jaka wartosc wpisze to i tak dodaje do bazy. Jak dostepne jest 1000 a pwpisze 1000 to i tak doda :/
markuz
Zrób console.log na dostepne i na ilosc. Pewnie sie okaże, że mają inne typy. Warto je na początku prze-konwertować na int albo float. Np.
[JAVASCRIPT] pobierz, plaintext
  1. var dostepne = parseInt($('#dostepne').val());
  2. var id_parts = parseInt($('#id_parts').val());
  3. ilosc = parseInt($('#ilosc').val());
[JAVASCRIPT] pobierz, plaintext

I wtedy zamiast
[JAVASCRIPT] pobierz, plaintext
  1. if(ilosc == '0' | ilosc == "")
[JAVASCRIPT] pobierz, plaintext

piszesz
[JAVASCRIPT] pobierz, plaintext
  1. if(ilosc === 0)
[JAVASCRIPT] pobierz, plaintext

Poza tym pierwszy raz widzę | - pewnie chodziło Ci o operator ||
Turson
Domyślnie wartości pobierane z inputów są stringami, a stringów nie można porównać jak wartości liczbowe.
http://www.w3schools.com/jsref/jsref_parseint.asp
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-2024 Invision Power Services, Inc.