Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 252 Pomógł: 0 Dołączył: 14.08.2016 Ostrzeżenie: (0%)
|
wpisując w formularzu dane pacjenta podaję jego pesel. chciałbym aby w momencie naciśnięcia TAB i przejścia do kolejnego pola data urodzenia została ona już uzupełniona zmienną $dataurodzenia którą potrafię pobrać. nie mogę znaleźć w sieci odpowiedniego kodu a ponieważ zupełnie nie znam się na javascript, mimo że pewnie nie jest to skomplikowany kod, nie potrafiłbym go zmodyfikować.
formularz |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 6 809 Pomógł: 1828 Dołączył: 11.03.2014 Ostrzeżenie: (0%)
|
A po co pobierasz datę urodzenia ze zmiennej $dataurodzenia? Datę urodzenia masz w PESEL, więc stąd możesz ją wyciągnąć. Ale sprowadza się to też do tego, że to pole daty w formularzu nie jest potrzebne.
|
|
|
|
Post
#3
|
|
|
Grupa: Zarejestrowani Postów: 252 Pomógł: 0 Dołączył: 14.08.2016 Ostrzeżenie: (0%)
|
kilka godzin temu inni zasugerowali żeby jednak umieścić w bazie pole daty urodzenia i płci wyciąganych z numeru pesel podczas wprowadzania danych żeby potem było mniej przetwarzania. temat
|
|
|
|
Post
#4
|
|
|
Grupa: Zarejestrowani Postów: 6 809 Pomógł: 1828 Dołączył: 11.03.2014 Ostrzeżenie: (0%)
|
A co ma baza do formularza?
|
|
|
|
Post
#5
|
|
|
Grupa: Zarejestrowani Postów: 252 Pomógł: 0 Dołączył: 14.08.2016 Ostrzeżenie: (0%)
|
pole daty jest w formularzu potrzebne gdy pacjent jest obcokrajowcem i nie ma nr pesel. wtedy płeć i datę ur wypełniam ręcznie.
|
|
|
|
Post
#6
|
|
|
Grupa: Zarejestrowani Postów: 6 809 Pomógł: 1828 Dołączył: 11.03.2014 Ostrzeżenie: (0%)
|
Dla Polaka wyliczaj więc datę urodzenia z podanego PESEL. W trakcie uzupełniania formularza datę zostawiasz pustą, a wyliczasz ją przed zapisem do bazy. Ewentualnie rozbuduj formularz tak, aby w zależności od pola wyboru Polak/Obcokrajowiec, wyświetlało się tylko jedno z pól.
|
|
|
|
Post
#7
|
|
|
Grupa: Zarejestrowani Postów: 252 Pomógł: 0 Dołączył: 14.08.2016 Ostrzeżenie: (0%)
|
okay tylko że tą metodą wpisuję pesel, w tle tworzona jest zmienna dataurodzenia i płeć, są one zapisane do bazy. a ja chciałbym je widzieć już na etapie wprowadzania właśnie po naciśnięciu TAB.
Ten post edytował dentopolis 2.05.2017, 20:49:06 |
|
|
|
Post
#8
|
|
|
Grupa: Zarejestrowani Postów: 6 809 Pomógł: 1828 Dołączył: 11.03.2014 Ostrzeżenie: (0%)
|
Do tego JavaScript.
https://www.google.com/search?q=javascript+...urodzenia+pesel Płeć jeszcze łatwiej znajdziesz. Sprawdź kod klasy, którą podawałeś w innym temacie lub "dokumentację" PESEL. |
|
|
|
Post
#9
|
|
|
Grupa: Zarejestrowani Postów: 252 Pomógł: 0 Dołączył: 14.08.2016 Ostrzeżenie: (0%)
|
działa mi wypisywanie płci i osobno roku, miesiąca i dnia, ale jak połączyć w jednym polu datę urodzenia?
document.getElementById("rok").value = rok; document.getElementById("miesiac").value = miesiac; document.getElementById("dzien").value = dzien; document.getElementById("plec").value = plec; document.getElementById("dzien").value - document.getElementById("miesiac").value = dataurodzenia; obecnie mój kod wygląda tak jak poniżej i działa orginalne automatyczne wypełnienie pól input rokiem, miesiącem, dniem, płcią, ale mimo że moim polom nadaję id='plec' to nie wyświetla jej. a druga sprawa to jak w jednym polu input wyświetlić datę urodzenia np.d-m-Y (IMG:http://www.dentopolis.org/fill.png) <script type="text/javascript"> function ParsePesel(id) { var s = document.getElementById(id).value; //Sprawdź długość, musi być 11 znaków if (SetError(s.length != 11)) return; //Sprawdź, czy wszystkie znaki to cyfry var aInt = new Array(); for (i=0;i<11; i++) { aInt[i] = parseInt(s.substring(i,i+1)); if (isNaN(aInt[i])) { SetError(1); return; } } //Sprawdź sumę kontrolną var wagi = [1,3,7,9,1,3,7,9,1,3,1]; var sum=0; for (i=0;i<11;i++) sum+=wagi[i]*aInt[i]; if (SetError((sum%10)!=0)) return; //Policz rok z uwzględnieniem XIX, XXI, XXII i XXIII wieku var rok = 1900+aInt[0]*10+aInt[1]; if (aInt[2]>=2 && aInt[2]<8) rok+=Math.floor(aInt[2]/2)*100; if (aInt[2]>=8) rok-=100; var miesiac = (aInt[2]%2)*10+aInt[3]; var dzien = aInt[4]*10+aInt[5]; //Sprawdź poprawność daty urodzenia if (SetError(!checkDate(dzien,miesiac,rok))) return; var plec = (aInt[9]%2==1)?"M":"K"; //Uzupełnij pola wchodzące w skład numeru PESEL document.getElementById("rok").value = rok; document.getElementById("miesiac").value = miesiac; document.getElementById("dzien").value = dzien; document.getElementById("plec").value = plec; } function SetError?{ document.getElementById("hasError").style.visibility=(c?"visible":"hidden"); return c; } function checkDate(d,m,y) { var dt = new Date(y,m-1,d); return dt.getDate()==d && dt.getMonth()==m-1 && dt.getFullYear()==y; } </script> </head> <body onload="ParsePesel('pesel');"> <table> <tr><td>PESEL:</td><td><input id="pesel" type="text" onkeyup="ParsePesel('pesel');"/> <span id="hasError" style="color:Red;" title="Nieprawidłowy numer PESEL">*</span></td></tr> <tr><td>Rok:</td><td><input id="rok" type="text"/></td></tr> <tr><td>Miesiac:</td><td><input id="miesiac" type="text"/></td></tr> <tr><td>Dzień:</td><td><input id="dzien" type="text"/></td></tr> <tr><td>Płeć:</td><td><input id="plec" type="text"/></td></tr> </table> <form name='diagram' method='GET' action='zapiszpacjenta.php'> <table border="1" width="100%"> <tr> <td align='center'><b>id</b></td> <td align='center'><b>nazwisko</b></td> <td align='center'><b>imie</b></td> <td align='center'><b>pesel</b></td> <td align='center'><b>urodziny</b></td> <td align='center'><b>płeć</b></td> <td align='center'><b>ulica</b></td> <td align='center'><b>kod</b></td> <td align='center'><b>miasto</b></td> <td align='center'><b>telefon</b></td> </tr>
<br/> <button type='submit'>zapisz</button> </form> czy ktoś mógłby mi pomóc w rozwiązaniu powyższego problemu? potrzebuję jedynie tej poziomej tabeli w której pacjent podaje nazwisko, imię, pesel...i automatycznie wypełniana jes pełna data urodzenia dd-mm-rrrr. formularz na górze jest kodem orginalnym. Ten post edytował dentopolis 16.05.2017, 13:31:26 |
|
|
|
![]() ![]() |
|
Aktualny czas: 23.12.2025 - 23:25 |