BizKitHub

Formuláře

Naposledy aktualizováno 24. dubna 2026

Formuláře jsou v každé digitální operaci základním způsobem, jak získat strukturované informace od návštěvníka — ať už jde o jednoduchý kontaktní dotaz, registraci na akci, dotazník spokojenosti, nebo žádost o reklamaci. Modul /form proto slouží jako univerzální nástroj pro návrh, publikaci a správu takových formulářů. Administrátor si vytváří vlastní formuláře dle potřeby, definuje jejich pole a ve stejném rozhraní si prohlíží odeslané odpovědi. Celá filozofie modulu je založena na myšlence, že formulář není pevná šablona, ale živý objekt, který lze v čase upravovat, deaktivovat, kopírovat a dále rozvíjet — a historie již přijatých dat zůstává konzistentní i při změně podkladové struktury.

Přehled formulářů

Hlavní stránka modulu zobrazuje seznam všech formulářů pro aktuální organizaci. Přehled je navržen tak, aby administrátor na první pohled viděl, co aktuálně aktivně sbírá data a kam přibývají nové odpovědi. Řádky jsou proto seřazeny podle data poslední modifikace — ten, na kterém se naposledy pracovalo, je zobrazen jako první. Tabulka se automaticky obnovuje každých 20 sekund, takže nové odpovědi ihned zvyšují počítadlo záznamů.V každém řádku uživatel najde název formuláře (který slouží i jako odkaz do detailu), doplňující popis, příznak aktivní, zda je formulář aktuálně publikován na webu, počet záznamů odeslaných návštěvníky a dvojici dat vytvoření a poslední modifikace.

Vytvoření nového formuláře

Nový formulář se vytváří pomocí tlačítka Přidat v pravém horním rohu. Formulář vyžaduje pouze název, volitelně kód (slug) a popis. Kód je URL-friendly identifikátor, pod kterým bude formulář publikován na webu; pokud jej administrátor nezadá, systém jej automaticky odvodí z názvu a v případě kolize s existujícím formulářem připojí číselnou příponu (typicky kontakt-2). Nový formulář je vytvořen v aktivním stavu a bez jediného pole — samotná pole se přidávají až v detailu, kde má administrátor více prostoru pro návrh struktury.> ℹ️ Kód slouží jako URL-friendly identifikátor a používá se při vkládání formuláře do veřejných stránek.

Detail formuláře

Kliknutím na konkrétní formulář se otevře jeho detail, který rozděluje práci na dvě hlavní oblasti: Záznamy ukazují odpovědi od návštěvníků a Struktura slouží k návrhu polí. Toto oddělení odráží dva typické režimy fungování — buď formulář teprve stavíte, nebo z něj už sbíráte data a kontrolujete, co přichází. Kliknutím na konkrétní odpověď v záložce Záznamy se otevře detail jednotlivého odeslání se všemi zadanými hodnotami a přesným časem.

Typy polí

Formulář se skládá z polí, která pokrývají běžné kategorie uživatelských vstupů. K dispozici jsou nadpis (vizuální prvek jen pro rozdělení delšího formuláře na sekce), jednořádkový text pro krátká data jako jméno či e-mail, víceřádkový textarea pro delší zprávy, pole pro výběr data z kalendáře, číselné pole číslo, zaškrtávací pole ano/ne a nakonec výběr (select) v podobě rozbalovacího menu s předdefinovanými možnostmi. Tento repertoár pokrývá drtivou většinu běžných scénářů sběru dat a zároveň zůstává dostatečně jednoduchý, aby návštěvníka nezahltil.

Správa polí

V detailu formuláře má administrátor plnou kontrolu nad každým polem. Přidání vytvoří nové prázdné textové pole na konci formuláře s automaticky generovaným klíčem, který lze kdykoli přejmenovat. Duplikace vytvoří přesnou kopii vedle originálu — včetně typu, popisku a voleb — a obdrží nový unikátní klíč. Smazání pole je trvalé, ale hodnoty z již odeslaných záznamů zůstávají v historii, protože systém ukládá popisek pole platný v době odeslání (viz níže). Přejmenování klíče mění programatický identifikátor pole a v případě kolize s jiným klíčem v rámci formuláře je automaticky připojena číselná přípona. Pořadí polí se mění přetažením v editoru a ukládá se jako kompletní přenastavení všech indexů, takže nehrozí riziko částečně uloženého stavu.

Konfigurace jednotlivého pole

Každé pole může mít popisek (text zobrazený návštěvníkovi), doplňující text nápovědy pod polem, zaškrtávací pole povinné (povinná pole jsou na webu označena hvězdičkou a jejich prázdná hodnota blokuje odeslání), výchozí hodnotu, kterou návštěvník vidí při prvním zobrazení, možnosti (relevantní pro typ select, páry klíč → popisek) a příznak aktivní pro dočasnou deaktivaci pole bez jeho smazání.

Životní cyklus formuláře

Formulář má jen dva stavy, které se liší v tom, jak se chová vůči veřejnému webu. Aktivní formulář je publikovaný a návštěvníci do něj mohou odesílat odpovědi. Neaktivní formulář je dočasně skrytý — odesílání se zastaví, ale všechny již přijaté záznamy zůstávají k dispozici v administraci. Deaktivace je užitečná pro sezónní formuláře (registrace na letní akci), pro formuláře v přípravě, které ještě čekají na dokončení, a pro dočasně pozastavené formuláře vyžadující úpravy.

Validace odpovědí

Při odeslání formuláře z veřejného webu systém ověřuje, zda příchozí data dávají smysl a odpovídají nastavení jednotlivých polí. Povinná pole musí být vyplněna, numerická pole musí obsahovat platné číslo, datumová pole platné datum, pole select smějí obsahovat jen předdefinované hodnoty a u textových polí se kontroluje minimální a maximální délka. V případě chyby formulář není odeslán a návštěvníkovi se vedle problematického pole zobrazí konkrétní chybová zpráva v češtině (např. „Pole musí být číslo“ nebo „Hodnota musí mít alespoň 3 znaky“), aby ji mohl bez technických znalostí opravit.

Kopírování formuláře

Kontextové menu nad formulářem nabízí akci Kopírovat formulář, která je užitečná vždy, když potřebujete vytvořit variantu existujícího formuláře, aniž byste ovlivnili originál. Kopie zdědí celou strukturu polí, získá nový unikátní kód (opět s volitelnou číselnou příponou v případě kolize) a je záměrně vytvořena jako neaktivní — tím se předchází situacím, kdy by kopie mohla neočekávaně publikovat nedokončenou verzi. Logicky má nulový počet záznamů, takže kopie začíná s čistým štítem.

Prohlížení a mazání záznamů

V detailu formuláře si administrátor prohlíží všechny odeslané záznamy. Každý řádek odpovídá jednomu odeslání a sloupce zachycují jednotlivá pole — kliknutím na řádek se otevře detail se všemi hodnotami, včetně původních popisků polí, které byly platné v době odeslání. Záznamy lze mazat jednotlivě přes kontextové menu, přičemž smazání je v tomto modulu trvalé — na rozdíl od příspěvků či kategorií se zde neuplatňuje soft-delete.> ⚠️ Smazání celého formuláře odstraní také všechna jeho pole a přijaté záznamy. Akce je nevratná a pokud si nejste jisti, že formulář už nikdy nebudete potřebovat, je lepší použít deaktivaci.

Historie popisků polí

Jednou z drobných, ale důležitých funkcí modulu je, že si pro každý odeslaný záznam pamatuje popisek pole platný v době odeslání. Pokud tedy později pole přejmenujete nebo dokonce smažete, starší záznamy si zachovají svůj původní kontext a zůstanou čitelné. Editor tak může klidně vyvíjet strukturu formuláře, aniž by historické kontroly odpovědí vedly k nesrozumitelným výsledkům. U polí typu select se analogicky ukládají možnosti platné v době odeslání.

Rozšířené použití

Díky svému obecnému návrhu modul pokrývá širokou škálu scénářů. Nejčastěji jde o kontaktní formuláře (jméno, e-mail, zpráva), průzkumy spokojenosti kombinující textová pole s výběry, registrace na akce s daty účasti a počtem osob, strukturované žádosti a také reklamační formuláře, jejichž obsah typicky pokračuje do modulu Reklamace. Odeslaná data se ukládají do interní tabulky a jsou kdykoli k dispozici pro zpětnou analýzu; integrace s e-mailovými notifikacemi nebo dalšími workflow akcemi probíhá mimo tuto stránku.

Kontextové menu

Nad řádkem formuláře kontextové menu nabízí tři akce, které pokrývají běžné operace: Kopírovat formulář vytvoří novou kopii se stejnou strukturou, Smazat odstraní celý formulář včetně polí a záznamů (s potvrzovacím dialogem) a přímo v detailu je k dispozici Smazat záznam pro trvalé odstranění jednotlivé odpovědi.

Doporučené postupy

Při návrhu formulářů se osvědčilo několik pravidel, která zvyšují pravděpodobnost, že návštěvník formulář skutečně vyplní. Začněte jen s nezbytnými poli — každé další pole snižuje míru dokončení. Minimalizujte povinná pole a ponechte je jen tam, kde skutečně s odpovědí bez hodnoty nic neuděláte. Popisky pište v první osobě („Vaše jméno“, „Váš e-mail“) — zní to lidštěji než strohé popisky. Používejte text nápovědy u polí s nejasnými formáty (např. „Telefonní číslo zadejte ve formátu +420 XXX XXX XXX“). A nakonec, formulář před publikací otestujte — vytvořte kopii, odešlete několik testovacích odpovědí a zkontrolujte, jak vypadají v detailu.

Struktura záznamu

Každý odeslaný záznam obsahuje ID záznamu (unikátní identifikátor v rámci formuláře), datum odeslání a seznam položek, kde se pro každé pole ukládá jeho původní klíč, popisek, typ a hodnota zadaná návštěvníkem. Kombinace popisku a typu zajišťuje, že záznam lze spolehlivě zobrazit i po pozdějších úpravách struktury formuláře.

Geolokace odesílatele

S každým odesláním formuláře systém ukládá i technickou stopu odesílatele, typicky polohu odvozenou z IP adresy. Tato informace slouží pouze pro interní statistiky a detekci podezřelých odeslání; ve detailu záznamu se standardně nezobrazuje.> ℹ️ Geolokace není spolehlivá pro uživatele používající VPN či proxy servery. Nesmí proto sloužit jako forma ověření identity.

Omezení a limity

Při práci s formuláři platí několik technických pravidel. Název pole nemá pevný limit, ale pro čitelnost doporučujeme zůstat pod 60 znaky. Klíč pole musí být unikátní v rámci formuláře a v případě kolize systém automaticky připojí číselnou příponu. Výběrová pole nemají pevný limit na počet možností, ale u více než deseti položek je často vhodnější použít jiný vstup než select (např. textové pole s našeptávačem). Kód formuláře musí být unikátní v rámci celé organizace.

Integrace s veřejným webem

Formulář se na veřejném webu zobrazuje podle svého kódu. Pokud je formulář deaktivovaný, stránka zobrazí informační zprávu, že formulář je aktuálně nedostupný — a administrace zůstává přístupná k dříve přijatým záznamům, takže deaktivace neznamená ztrátu historických dat ani jejich dočasné skrytí.

Související články