Jednoduché zadávání datumu ve formuláři
Jednoduché a praktické zadávání datumu bývá v mnoha formulářích kamenem úrazu: pokud necháte uživatele zadat datum do editačního pole, musíte správnost zadání složitě kontrolovat a ve zpracovávacích serverových skriptech převádět na vhodný formát. Ideálním řešením bývají formulářová pole SELECT – vypsat v HTML pole SELECT pro výběr dne v rozsahu 1 až 31 je ale zbytečně zdlouhavé. Zde vám ukážeme sadu jednoduchých skriptů, které vám ušetří práci a – a to především – provedou výchozí nastavení SELECT polí na aktuální datum.
Nejprve malá ukázka: druhý řádek následujícího formuláře, umožňující zadat období,je vytvořen pomocí JavaScriptu. Období je automaticky nastaveno na dobu jednoho týdne, počínaje dnešním datem:
Formulář na předchozím řádku je vcelku jednoduchý, uveďme si jen, že se jmenuje netradičně main (toto jméno využijeme při pozdější adresaci). Dále je ve formuláři obsažena dvouřádková tabulka; první řádek obsahuje nadpis, ve druhém je následující JavaScript, který především volá funkce pro vytváření jednotlivých SELECT polí:
|
Použity jsou tři funkce, každá z nich vytváří SELECT pole pro určitý typ údaje, tedy pro den, měsíc a rok. Protože parametry všech tří funkcí jsou totožné, popíšeme si nejprve je:
- formname – první parametr udává název formuláře, v němž je SELECT pole umístěno, v našem případě tedy „main“.
- fieldname – druhým parametrem je jméno formulářového pole, jež se má vytvořit
- daysfrom – třetí parametr určuje počet dní, které se přičtou k aktuálnímu datu. Tímto přičtením je získáno datum, které je pak vybráno jako aktuální v příslušném políčku (použito v druhé části volajícího skriptu pro vytvoření týdenního období).
Kód všech tří funkcí neobsahuje žádné záludnosti, uvedeme si jej proto postupně jen s minimálními komentáři.
Nejprve nejjednodušší funkce CreateDayCombo:
|
Funkce CreateMonthCombo využívá pole s předdefinovanými názvy měsíců, které můžeme pochopitelně přizpůsobit našim potřebám, eventuelně jazykovým variantám stránek:
|
Poslední funkce CreateYearCombo obsahuje navíc test na datum vrácené metodou getYear – je to z toho důvodu, že některé verze NN vracejí např pro rok 2001 hodnotu 101 atp. Změnou konstant firstyear a lastyear můžeme změnit rozsah let, jež lze zadat ve vytvářeném SELECT boxu:
|
A to je k dnešnímu tématu vše. Věřím, že vám popisované funkce ušetří trochu práce při vytváření HTML formulářů. Samozřejmě, sloučení výše popsaných funkcí do jedné pro snadnější volání jest možné.
Přeji vám příjemný den.
Starší komentáře ke článku
Pokud máte zájem o starší komentáře k tomuto článku, naleznete je zde.
Mohlo by vás také zajímat
-
Globální výpadek IT systémů: Může za to jediná aktualizace
19. července 2024 -
Proč investovat do nejvýkonnějších VPS s AMD EPYC procesory
14. června 2024 -
Landing page: Jak vytvořit landing page s vysokým CTR
7. května 2024 -
OpenAI představilo novou funkci ChatGPT Search
6. listopadu 2024
Nejnovější
-
Výkonný a kompaktní: ASOME Max Studio s výjimečným poměrem cena/výkon
11. listopadu 2024 -
Šokující data od Microsoftu: Kyberútoky rostou o stovky procent!
8. listopadu 2024 -
Chcete jedinečnou doménu? Objevte koncovky FOOD, MEME a MUSIC!
7. listopadu 2024 -
OpenAI představilo novou funkci ChatGPT Search
6. listopadu 2024