Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Operator porównania wariuje ;)
mskiba
post
Post #1





Grupa: Zarejestrowani
Postów: 69
Pomógł: 0
Dołączył: 28.04.2013

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


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 :/
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Turson
post
Post #2





Grupa: Zarejestrowani
Postów: 4 291
Pomógł: 829
Dołączył: 14.02.2009
Skąd: łódź

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


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
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: 11.10.2025 - 15:39