Prosty kalkulator BMI do oceny

0

Cześć, dla funu napisałem sobie taki bardzo prosty BMI kalkulator w czystym html, css, js, który odświeża się automatycznie po wpisaniu wartości, jest to mój pierwszy samodzielny projekt. Mimo, że kodu tutaj za wiele nie ma to chętnie bym usłyszał to co mogę poprawić od doświadczonych kolegów, z góry dziękuje.

Kod: https://github.com/destris01/bmi-calculator
Live: https://destris01.github.io/bmi-calculator/

1

Jak wpierw wpiszę wagę, potem wzrost to się pokazuje ładnie, mogę sobie zmieniać wzrost i się aktualizuje. Ale jak sobie przypomnę, że jednak nie ważę tyle co wpisałem i zmienię wagę, zostawiając wzrost to już się nie odświeży. Muszę po zmianie wagi kliknąć na wzrost i go edytować, np usunąć ostatnią cyfrę i wpisać tę samą. Dlaczego?!

0

@szweszwe:
Dzięki, poprawiłem to, tylko zastanawiam się jak można to napisać inaczej, bo nie wydaje mi się, żeby był to prawidłowy sposób, no ale działa.

3

Podstawowa sprawa - jeśli program oczekuje danych wejściowych w określonym zakresie, to wypadałoby użytkownika o tym poinformować. Wpisując np. "43 i 44" nic się nie dzieje. Rozumiem, że wprowadzone dane są niezgodne z oczekiwaniami (być może BMI dla dzieci się nie ustala, albo jest inny sposób obliczania), ale wypadałoby poinformować użytkownika, że np. oczekujesz wzrostu powyżej X cm. Teraz jest to mocno nieintuicyjne.

Poza tym skalowanie działa nie do końca poprawnie:
screenshot-20191208162902.png

0

Popsuty, nie dziala. Jak wpisze wzrost w cm i mase w kg w odwrotne okienka to BMI wychodzi to samo.

0

@cerrato:
Pobawiłem się trochę i zaktualizowałem kod na podstawie tego co napisałeś, mógłbyś spojrzeć?

1

Co do informacji o wymaganiach dot. wprowadzanych danych - jest OK. Jakbym miał się czepiać, to fajnie, jakbyś dał to obok pola do wprowadzania, a nie na samym dole, ale to kosmetyka. Tak samo możesz np. na czerwono zaznaczyć dany input w sytuacji, w której posiada nieprawidłowe dane. Coś podobnego do sytuacji, w której wpiszę jako wzrost "erfs". Swoją drogą - możesz zabezpieczyć się przed takimi błędami poprzez sprawdzanie wprowadzonych danych i wywalanie wszystkiego, co nie jest cyfrą.

Ale skalowanie nadal jakoś nie działa optymalnie. Czasami się pojawia na dole biały trójkąt, ale często go nie ma. Tak samo odległość między inputami jest stała, co przy mocnym zmniejszaniu rozmiaru powoduje, że się całość nie mieści. Na monitorze nie ma z tym problemu, ale na komórce może być problem. Zresztą weź sobie okienko z kalkulatorem, chwyć prawy dolny narożnik, zacznij zmieniać rozmiar i patrz, co się dzieje ;)

0

Podaję akceptowalny wzrost: 120 i nie działa. To samo z rzekomo akceptowalna wagą 200. Swoją drogą, co to za dziwne ograniczenia?

Pochodzisz z Indii? Po co tyle pustych linii po i przed nawiasach klamrowych wewnątrz metod.

0

@somekind:
nie rozumiem, u mnie wyświetla w ten sposób

2

No, a mi się udaje osiągnąć coś takiego:
screenshot-20191209130348.png

Wygląda na to, że jeśli najpierw wprowadzi się prawidłowe wartości, a potem zmieni wagę na nieprawidłową, a potem z powrotem na prawidłową, to się przestaje obliczać.

Ale to w ogóle momentami jest jeszcze bardziej magiczne, bo można jednak coś policzyć dla danych spoza zakresu:
screenshot-20191209130455.png

0

No, najlepiej obwinić kalkulator, że popsuty.

2

Coś jest nie tak z walidacją :(

2019-12-09 143503.png

1

Nie wiem czy w tym przypadku głównym problemem jest walidacja. No bo skoro masz ujemną masę, to chyba odpychasz obiekty w swojej okolicy? ;)

1
Deltech napisał(a):

Coś jest nie tak z walidacją :(

Taki jesteś gruby że wywaliło integer overflow

1 użytkowników online, w tym zalogowanych: 0, gości: 1