• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Podawanie godziny | html | javascript

Object Storage Arubacloud
0 głosów
110 wizyt
pytanie zadane 13 maja 2020 w JavaScript przez primole Obywatel (1,130 p.)
Witam, mam inputa w którym chciałbym otrzymać godzinę przez użytkownika, najlepiej gdyby był w formacie | 24:60 |
Tzn użytkownik nie może wpisać więcej niż 24 w pierwszym członie, ani więcej niz 60 w drugim członie, jak rozwiązać ten problem? :)

3 odpowiedzi

+3 głosów
odpowiedź 13 maja 2020 przez Velta Maniak (52,370 p.)
wybrane 13 maja 2020 przez primole
 
Najlepsza
komentarz 13 maja 2020 przez primole Obywatel (1,130 p.)
I o to chodziło :D Dzięki
0 głosów
odpowiedź 13 maja 2020 przez DawidK Nałogowiec (37,910 p.)

poczytaj o input number i atrybutach min , max

https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/number

komentarz 13 maja 2020 przez primole Obywatel (1,130 p.)
Użytkownik może wpisać w inputa ile chce, dopiero pózniej jest to blokowane. W input i typie number nie można dać znaków jak ":" lub "-".
komentarz 13 maja 2020 przez DawidK Nałogowiec (37,910 p.)

Niby można pobierać wartość - sprawdzać czy pierwszy znak jest 0-2 jeżeli nie kasować wartość, jeżeli tak to czy drugi znak jest w przedziale 0-9 jeżeli nie to go kasować, jeżeli tak to sprawdzać czy 3 znak to " : "..... ale dużo zagnieżdżeń się z tego zrobi

<!DOCTYPE html>
<html>
<head>
    <meta charset='utf-8'>
    <meta http-equiv='X-UA-Compatible' content='IE=edge'>
    <title>Godzina</title>
    <meta name='viewport' content='width=device-width, initial-scale=1'>
</head>
<body>
    <input id='time' type='text'>

    <script>
        const timeInput = document.querySelector('#time');

        checkTime = (time) => {
            if(parseInt(time.charAt(0)) >= 0 &&  parseInt(time.charAt(0)) <=2){
                if(parseInt(time.charAt(0)) >= 0 &&  parseInt(time.charAt(1)) <=9){
                    console.log('pass');
                }
                else {
                    timeInput.value = timeInput.value.slice(0,1)
                }
            } else {
                timeInput.value = '';
            }
        }

        timeInput.addEventListener('keyup',(event) => checkTime(event.target.value))
    </script>
</body>
</html>

 

komentarz 13 maja 2020 przez primole Obywatel (1,130 p.)

Zrobiłem tak jak chciałem, zmieściłem się w 4 instrukcjach warunkowych. Ale jednak rozwiązanie <input type="time"> jest najlepsze.

0 głosów
odpowiedź 13 maja 2020 przez Tomek Sochacki Ekspert (227,510 p.)
to zrób po prostu dwa inputy dla godzin i minut plus zrob walidacje np. na event keypress itp. ewentualnie ogranicz się do atrybutów walidacyjnych, zależy jak UXowo ma to działać.

Podobne pytania

0 głosów
1 odpowiedź 93 wizyt
pytanie zadane 8 czerwca 2018 w JavaScript przez agit45 Obywatel (1,110 p.)
0 głosów
1 odpowiedź 130 wizyt
pytanie zadane 1 sierpnia 2019 w JavaScript przez rafal.budzis Szeryf (85,260 p.)
0 głosów
1 odpowiedź 120 wizyt
pytanie zadane 29 kwietnia 2023 w PHP przez MisticVoid Początkujący (490 p.)

92,579 zapytań

141,432 odpowiedzi

319,663 komentarzy

61,964 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...