Jak pomocí ASP zpracovat data z formuláře 2.
Dnes si ukážeme, jakým způsobem se v ASP zpracovávají formulářové hodnoty SELECTů, CHECKBOXů, RADIO buttonů a jak rozeznávat, které tlačítko bylo ve formuláři stisknuto. Také si ukážeme, jak nenutit uživatele vyplňovat formulář neustále znovu, pokud například vyplní jednu z položek špatně a jak tyto chyby ve formulářích zpracovávat.
Testování chyb, které je jednoduché na provedení a přitom vysoce funkční, může pracovat na tomto principu: stránka s formulářem v sobě obsahuje v podstatě dvě části. Část s formulářem, který se zobrazí standardně při načtení této stránky do prohlížeče. Tento formulář odesílá data sám na sebe. Skript na začátku stránky vyhodnotí, zda jsou mu předána nějaká data z formuláře – pokud ano, data nějakým způsobem zpracuje a zobrazí jakousi „druhou část“ stránky s výsledkem (nebo třeba odešle mail, uloží do databáze apod.). Pokud nejsou předávána žádná data nebo je v nich chyba, zobrazí opět první část stránky s formulářem, do kterého před-vyplní údaje, které byly správně a současně zobrazí chybové hlášení.
Teď si povíme o formulářích naprosto základní informaci: úplně každý prvek formuláře se ve výsledku posílá ve formátu jméno_prvku=jeho_hodnota. Ať jde o jakýkoliv druh formulářového prvku, vždy se jeho hodnota pošle v tomto formátu. To nám velmi ulehčuje práci, protože můžeme k jakémukoliv prvku přistupovat stejným způsobem. Popíšeme si, jak se s nimi pracuje a jakým způsobem je můžeme pro uživatele před-vyplnit.
Textové pole
Zpracování textového pole jsme si ukázali minule. Každé textové pole (INPUT) má i nepovinný parametr VALUE, do kterého můžeme zadat hodnotu, u které chceme aby byla standardní hodnotou. V našem případě budeme chtít do pole doplnit hodnotu proměnné strJmeno. Pomocí ASP to provedeme velice jednoduše:
|
Rozbalovací nabídka – SELECT
Každý SELECT má svoje jméno, na které se v ASP odkazujeme. Každá položka tohoto SELECTu má pak svůj obsah, který se doplní do příslušné kolekce, pokud je tato položka vybrána. Každá položka SELECTu může mít ještě nepovinný parametr VALUE, kterým můžeme určit, že se předá jiná hodnota, než jaká se vypisuje v prohlížeči. To je výhodné třeba u různých číselníků apod., kde zobrazujeme třeba název zboží, ale aplikaci předáváme jeho skladové číslo. Pokud hodnota VALUE u položky chybí, je při jejích vybrání vrácen jako hodnota obsah položky (tedy text, který se zobrazuje v prohlížeči). To, která položka je vybrána, je zajištěno parametrem SELECTED, který se má vyskytovat pouze u jediné položky z celého seznamu. Tato položka je pak prohlížečem „předhozena“ uživateli jako vybraná. Pokud tedy chceme, aby byla před-vybrána položka, jejíž hodnotu máme v proměnné, musíme u každé položky otestovat, jestli se nerovná hodnota položky hodnotě proměnné a v případě, že ano, vypsat skriptem parametr SELECTED.
|
Přepínací tlačítko – RADIO
Jako radio-button se označuje skupina tlačítek, ve které může být zaškrtnuté pouze jedno z nich. Všechny tyto prvky mají STEJNÉ jméno a jako svoji hodnotu vrací zvolené políčko hodnotu uvedenou v parametru VALUE, který je u radio-buttonu povinný (jinak by nebylo co vracet). Pokud chcete určit, které políčko ze skupiny bude zaškrtnuté, uvedete u něho parametr CHECKED – tedy použijeme v podstatě stejný postup, jako v případě SELECTu.
|
Zaškrtávací políčko – CHECKBOX
Funguje stejně jako radio-button jenom s tím rozdílem, že je to samostatný prvek a není sdružovaný v žádné skupině. Má svoje jméno, hodnotu uvedenou v parametru VALUE a nepovinný parametr CHECKED, který určuje, zda je políčko zaškrtnuté nebo ne. Pokud je políčko při odeslání formuláře zaškrtnuté, pošle se standardní formou jmeno=hodnota. Pokud zaškrtnuté není, nepošle se NIC (tedy NE prázdná hodnota, ale NIC).
|
Takže nyní, když víte, jak ovládat jednotlivé prvky formuláře, si napíšeme krátkou demonstrační aplikaci, která bude dbát na to, jestli je formulář vyplněný správně. Pokud nebude hodnota vyplněná, tak oznámí chybu a doplní do formuláře zpět uživatelovy hodnoty, aby je nemusel vyplňovat znovu.
|
Celý kód stránky si můžete také stáhnout tady. Doufám, že nyní už máte dobrou představu, jak pracovat s formuláři v ASP stránkách. Jak vidíte, je ošetření chyb a před-vyplnění formuláře (hlavně SELECTů) velmi pracné. V praxi se proto většinou třeba SELECTy generují jiným způsobem. O tom ale možná někdy příště, dnes jsem chtěl zachovat co největší srozumitelnost příkladu.
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
-
Vlastní web: Jak nainstalovat WordPress?
24. června 2024 -
AI na dosah ruky: Jak je to s AI v osobních zařízeních?
22. ledna 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