![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 3 Pomógł: 1 Dołączył: 20.01.2015 Ostrzeżenie: (0%) ![]() ![]() |
Witam wszystkich!
Na wstępie chciałbym zaznaczyć, że dopiero zaczynam przygodę z JS, więc proszę o wyrozumiałość ![]() Chciałbym Was poprosić o opinię, porady odnośnie skryptu, który napisałem (przerobiłem) na podstawie kodu, który udostępnił buliq http://forum.php.pl/index.php?s=&showt...st&p=886957 PESEL jest pobierany z formularza, który wypełnia użytkownik. var y = document.forms["formularz"]["pesel"].value; - jeśli dobrze rozumiem, to ta część zwraca mi pesel w postaci string. Dalej wydzielam odpowiednie części tego ciągu (dla dnia, miesiąca oraz roku). Nie ma problemu jeśli od tych "wyciągniętych" danych chcę coś odjąć (otrzymuję oczekiwany wynik). Jednak jeśli chcę coś dodać, to zamiast matematycznej operacji, po prostu łączy mi oba ciągi znaków (np. otrzymałem 87 rok dodaję do tego 1900 i w wyniku otrzymuję 871900 zamiast 1987). Stąd w moim skrypcie takie obejście w postaci mnożenia przez (-1). Generalnie skrypt działa tak jak chcę (nie sprawdziłem jeszcze osób urodzonych po 2000 roku, lecz to nie istotne), ale wiem, że nie powinien on wyglądać w ten sposób. Moje pytanie/prośba dotyczy tego jak ten skrypt ładnie jeszcze przerobić, żeby to miało "programistyczne" ręce i nogi, bo sam fakt, że to działa zadowala mnie tylko częściowo. Pozdrawiam i z góry dzięki za wszelkie udzielone porady, sugestie.
Ten post edytował adamt87 20.01.2015, 11:27:04 |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 174 Pomógł: 11 Dołączył: 12.10.2008 Skąd: Dublin Ostrzeżenie: (0%) ![]() ![]() |
JavaScript jest typowany dynamicznie i value wpisane przez uzytkownika jest rozpoznawane jako to tutaj string a nie number.
Innymi slowy - kod nie dodaje 87 do 1900 tylko "87" do "1900". Aby uzyc value jako number, mozesz uzyc parseInt() |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 19.07.2025 - 10:21 |