Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: wieksze czy miejsze
Forum PHP.pl > Forum > Po stronie przeglądarki
1maciek
mam maly problem
podaje tu kod ktory ma sprawdzac ktora z podanych liczb jest mniejsza, wieksza badz czy sa rowne i to nie dziala dobrze bo jak sie poda 2 i 5 jest ok, ale jak podam 10 i 5 to wskazuje ze 5 > 10, dziala tak jakby porownywalo tylko piersza cyfre w liczbie (czyli zamiast 5 i 10 to 5 i 1) moze ktos wie o co chodzi
prosze o jakies pomysly z gory wielkie dzieki
oto kod
  1. <script language="JavaScript">
  2.  
  3. function por(x, y) {
  4. if(x < y) {
  5. alert("x < y, bo " + x + "<" + y);
  6. return false;
  7. }
  8. if(x > y) {
  9. alert("x > y, bo " + x + ">" + y);
  10. return false;
  11. }
  12. if(x == y) {
  13. alert("x = y, bo " + x + "=" + y);
  14. return false;
  15. }
  16. }
  17.  
  18. </head>
  19. <form onsubmit="javascript: return por(document.form.x.value, document.form.y.value)" action="test.php" method="post" name="form">
  20. x <input name="x"><br>y <input name="y"><br>
  21. <input type="submit" value="ok">
  22. </form>
  23. </body>
  24. </html>
yavaho
Nie znam sie na JS ale przypuszczam ze ten skrypt porownuje ci ciag znakow tekstowych a nie liczby.
ikioloak
Poprzez (+zmienna) konwertujesz zmienna do typu liczbowego. Wiec twoja funkcja powinna tak wygladac:
  1. function por(x, y) {
  2. if((+x)<(+y)) {
  3. alert("x < y, bo " + x + "<" + y);
  4. return false;
  5. }
  6. if((+x)>(+y)) {
  7. alert("x > y, bo " + x + ">" + y);
  8. return false;
  9. }
  10. if((+x)==(+y)) {
  11. alert("x = y, bo " + x + "=" + y);
  12. return false;
  13. }
  14. }
1maciek
wielkie dzieki
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.