![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 20 Pomógł: 0 Dołączył: 26.02.2009 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Męczę się by ograniczyć pole input do minimalnej i wielokrotnej wartości np.: 50 Kod <script type="text/javascript"> function CheckNo(sender){ if(!isNaN(sender.value)){ if(sender.value > 50 ) sender.value = 100; if(sender.value < 50 ) sender.value = 50; }else{ sender.value = 0; } } </script>
Udało mi się ograniczyć do minimalnej wartości wpisywania w pole input 50, ale nie wiem jak ograniczyć pole input do wielokrotności 50 (100,150,200,250,300,350...) Proszę o pomoc. |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 731 Pomógł: 141 Dołączył: 9.05.2011 Skąd: śląskie Ostrzeżenie: (0%) ![]() ![]() |
Skorzystaj w warunku sprawdzania z dzielenia modulo
![]() -------------------- Szanuj innych czas! Kliknij
![]() |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 20 Pomógł: 0 Dołączył: 26.02.2009 Ostrzeżenie: (0%) ![]() ![]() |
No tak ale oprócz tego potrzebuję wartości całkowitej z dzielenia a javascript z tego co czytam nie posiada dzielenia całkowitoliczbowego ?
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 717 Pomógł: 120 Dołączył: 18.04.2009 Ostrzeżenie: (0%) ![]() ![]() |
ale i tak ma dzielenie z resztą:
15 % 5 ---------> 0 16 % 5 ---------> 1 posiada też zaokraglanie: Math.floor(liczba) zaokrągla ci liczbę w dół. jest też trick z dwiema tyldami: ~~liczba, np. ~~3.5 da ci w wyniku 3 EDIT: Cytat No tak ale oprócz tego potrzebuję wartości całkowitej z dzielenia a javascript potrzebujesz więc dwóch liczb: ~~(liczba / dzielnik) liczba % dzielnik Ten post edytował PrinceOfPersia 17.09.2013, 08:41:48 -------------------- |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 20 Pomógł: 0 Dołączył: 26.02.2009 Ostrzeżenie: (0%) ![]() ![]() |
Math.floor(liczba) tego dokładnie potrzebowałem do szczęścia
![]() Kod <script type="text/javascript"> function CheckNo(sender){ if(!isNaN(sender.value)){ if(sender.value > 50 ) var x = sender.value; var y = 50; var wynik; wynik = x % y; sender.value = Math.floor(wynik); if(sender.value < 50 ) sender.value = 50; }else{ sender.value = 0; } } </script> Z mnożeniem: Kod wynik = x * y; Działa OK A z dzieleniem module % jak wyżej nie chce? nie kumam... |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 731 Pomógł: 141 Dołączył: 9.05.2011 Skąd: śląskie Ostrzeżenie: (0%) ![]() ![]() |
Chcesz sprawdzić czy podana liczba w input jest podzielna przez 50 czyli jest jej wielokrotnością?
PrinceOfPersia podał Ci nawet przykłady. Zapoznałeś się z tematem, co to takiego dzielenie modulo? Sprawdzasz zatem wynik z dzielenia modulo. Powinien mieć wartość 0 (nie ma reszty) - tak? Kod if(value % 50 == 0) { // podana wartość to co najmniej 50 lub jej wielokrotność } else { // podana wartość nie spełnia założeń } Czego nie rozumiesz? Ten post edytował mar1aczi 17.09.2013, 09:45:45 -------------------- Szanuj innych czas! Kliknij
![]() |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 20 Pomógł: 0 Dołączył: 26.02.2009 Ostrzeżenie: (0%) ![]() ![]() |
Zrobione:
Kod function CheckNo(sender){ if(!isNaN(sender.value)){ if(sender.value > 50 ) var num = sender.value var mult = 50; wynik = Math.floor(num / mult) * mult; sender.value = wynik; if(sender.value < 50 ) sender.value = 50; }else{ sender.value = 0; } } Dzięki za pomoc all Ten post edytował lukasz_web 17.09.2013, 10:15:34 |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.07.2025 - 12:44 |