Týdenní kalendář pomocí zatržítek a JavaScriptu
Následující článek popisuje základy vytvoření a obsluhy dvourozměrné tabulky se zatržítky – checkboxy. Jde o skript, který se po nezbytné modifikaci hodí například pro zadávání vytížení automobilů během týdne, rezervaci ubytování a podobné aplikace.
Ve své nejjednodušší formě může vypadat dvourozměrná tabulka checkboxů nějak takto (tlačítka v záhlaví sloupců, potažmo řádků invertují výběr v příslušném sloupci/řádku):
Skript, pracující v této ukázce, je velmi jednoduchý: skládá se z „kreslící“ funkce, jež vytváří tabulku s příslušnými ovládacími prvky (tj. checkboxy a tlačítky), a z dvojice funkcí, které zabezpečují inverzi označení checkboxů v příslušném řádku či sloupci. Nejdříve ze všeho však maximálně zjednodušený HTML kód formuláře, z nějž je volána první, „kreslící“ funkce:
|
Kreslící funkce WriteTable má na vstupu jediný parametr, určující jméno formuláře, v němž je tabulka umístěna (toto jméno se předává dál, do obslužných funkcí inverze sloupce či řádku). Zde je kód funkce WriteTable:
|
Jde (jako obvykle u tohoto typu funkcí) víceméně jen o množství document.write, důležité je především pojmenování jednotlivých checkboxů – jejich jména jsou konstruována stylem C_cisloradku_cislosloupce (toto pojmenování využívají níže uvedené funkce). Funkce také používá několik konstant, s jejichž pomocí lze měnit počet řádků a sloupců v tabulce a také názvy tlačítek v záhlaví jednotlivých řádků:
|
Po stisku tlačítka v záhlaví příslušného sloupce/řádku je volána (v handleru události onClick jedna z dvojice funkcí na inverzi příslušného sloupce/řádku. Obě funkce jsou téměř totožné a jejich kód vypadá takto:
|
Tolik k příkladu, na závěr si ještě řekněme několik slov o využití a rozšíření tohoto skriptu.
Po nezbytných modifikacích lze skript použít všude tam, kde potřebujeme HTML rozhraním (často i v podnikové síti intranetu) plánovat užití určité sumy zdrojů v závislosti na druhé, nejčastěji časové ose. Namátkou lze jmenovat užití služebních aut v průběhu dne/týdne, plánování rozvrhu hodin, rezervace ubytování atp. Je samozřejmé, že věšina aplikací se neobejde bez spolupráce se serverovými skripty a ovšem databázemi, to je už ale trochu jiná kapitola.
Co se týká možných vylepšení skriptu, určitě by se uplatnila rozšířená obsluha zaškrknutí jednotlivých sloupců/řádků – tedy nejen inverze, ale také zaškrknout/odškrknout vše, původní hodnoty atp. Druhým významným vylepšením by pro některé aplikace byla možnost více stavů v jednotlivých políčkách než jen zapnuto/vypnuto – zde se dá s výhodou využít kombinace s tří (či vícestavovým) checkboxem, popsaném v jednom z minulých článků.
Zda si některou konkrétní aplikaci uvedeného skriptu ukážeme příště, záleží na vás čtenářích – pokud se mi v poště nebo v diskusi pod článkem sejde od čtenářů více návrhů na stejné téma, pokračování článku na sebe nenechá dlouho čekat.
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
-
Gaming na HDR monitoru: Stojí to za to?
12. srpna 2024 -
Lék na phishing a apatii ve světě e-mailového marketingu
18. března 2024 -
Rychlost serveru: Klíč k lepšímu umístění ve vyhledávačích
7. června 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