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
-
Jak zvýšit CTR vašeho e-mail marketingu
9. září 2024 -
Vaše pošta může být špatně nastavena – svěřte ji profesionálům
13. července 2023 -
Jak nainstalovat šablonu ve WordPressu
23. července 2024
Nejnovější
-
Jak rozšířit úložiště Macu za pětinovou cenu?
16. prosince 2024 -
Nové trendy v doménách pro osobní projekty – DIY, LIVING a LIFESTYLE
9. prosince 2024 -
Jak chránit webové stránky před Web/AI Scrapingem
27. listopadu 2024 -
Jaký monitor je nejlepší k novému Macu Mini?
25. listopadu 2024