Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Ukrywanie daty
Forum PHP.pl > Forum > Po stronie przeglądarki > JavaScript
kemes123
Znalazłem skrypt podający aktualną godzinę co do sekundy.
  1.  
  2. <form method="POST" id="Formularz_zegarka" action="wstaw_rekord.php" target="_top">
  3. <input type="text" name="date2" size="19">
  4. <script TYPE="text/javascript">
  5. function zero(element) {
  6. if (element < 10) return element = "0" + element;
  7. return element;
  8. }
  9. function pokaz_czas() {
  10. var czas=new Date();
  11. var date2 = czas.getFullYear()+"-"+zero((czas.getMonth()+1))+"-"+zero(czas.getDate())+" "+zero(czas.getHours())+":"+zero(czas.getMinutes())+":"+zero(czas.getSeconds());
  12. var forma = document.getElementById('Formularz_zegarka');
  13. var czas_na_zegarku = zero(czas.getHours())+":"+zero(czas.getMinutes())+":"+zero(czas.getSeconds());
  14. forma.date2.value=date2;
  15. setTimeout("pokaz_czas()",1000)
  16. }
  17.  
  18. pokaz_czas();
  19. </script>

Zegarek jest częścią formularza data pobierana jest z pola i przekazywana do bazy.
Jeżeli chcę zmienić type na hidden
  1. <input type="hidden" name="date2" size="19">

Pole znika ale dane do bazy już nie są przekazywane.
W formularzu mam kilka innych pól tekstowych, które są ukryte i z nimi nie ma problemu.
Może ktoś z Was będzie wiedział o co chodzi

dodatkowo jeżeli zmienie lokalizację
  1. <input type="text" name="date2" size="19">

gdzieś niżj w kodzie zegarek się ni wyświetla
d3ut3r
a nie lepiej w samym php dodawać datę do zapytania ?
kemes123
I tu się pojawia problem data musi być odświeżana cały czas. Już miałem wpisywany czas w pole ale godzina odświeżała się dopiero po przeładowaniu strony.
kokers
nadaj id temu inputowi i zmień forma.date2.value=date2 na odwołanie bezpośrednio do id czyli:


  1. <input type="hidden" name="date2" size="19" id="date2" />
  2.  
  3. <script TYPE="text/javascript">
  4. function zero(element) {
  5. if (element < 10) return element = "0" + element;
  6. return element;
  7. }
  8. function pokaz_czas() {
  9. var czas=new Date();
  10. var date2 = czas.getFullYear()+"-"+zero((czas.getMonth()+1))+"-"+zero(czas.getDate())+" "+zero(czas.getHours())+":"+zero(czas.getMinutes())+":"+zero(czas.getSeconds());
  11. var czas_na_zegarku = zero(czas.getHours())+":"+zero(czas.getMinutes())+":"+zero(czas.getSeconds());
  12. document.getElementById('date2').value=date2;
  13. setTimeout("pokaz_czas()",1000)
  14. }
  15.  
  16. pokaz_czas();
  17. </script>
kemes123
Nadal po ustawieniu atrybutu hidden nie pobiera danych po dopisanu disabled tak aby data została w tym polu też jest to samo
kokers
disabled powoduje że dany input(select i inne) stają się nieaktywne i ich wartości nie są nigdzie przesyłane.

to działa na pewno

  1. <script TYPE="text/javascript">
  2. window.onload=function(){
  3. pokaz_czas();
  4. }
  5. function zero(element) {
  6. if (element < 10) return element = "0" + element;
  7. return element;
  8. }
  9. function pokaz_czas() {
  10. var czas=new Date();
  11. var date2 = czas.getFullYear()+"-"+zero((czas.getMonth()+1))+"-"+zero(czas.getDate())+" "+zero(czas.getHours())+":"+zero(czas.getMinutes())+":"+zero(czas.getSeconds());
  12. var czas_na_zegarku = zero(czas.getHours())+":"+zero(czas.getMinutes())+":"+zero(czas.getSeconds());
  13. document.getElementById('date2').value=date2;
  14. setTimeout("pokaz_czas()",1000)
  15. }
  16.  
  17.  
  18. </script>
  19.  
  20. <form method="POST" id="formularz_zegarka" action="wstaw_rekord.php" target="_top">
  21. <input type="hidden" name="date2" size="19" id="date2" value="echo"/>
  22. <input type="submit" value="send" />
  23. </form>



lub po prostu można ewentualnie zrobić stylami :o)
  1. <input type="hidden" name="date2" size="19" id="date2" style="display:none;"/>
kemes123
Dzięki wielkie działa
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.