Zpracování vícenásobné hodnoty formulářového pole v ASP
Pokud ve formuláři použijeme pole SELECT s možností vícenásobné volby, dostáváme několik hodnot pro jeden název formulářového pole. Stejně tak, pokud máme ve formuláři více polí se stejným názvem. Tento článek vám poradí, jak tyto hodnoty zpracovat v ASP.
U formulářového prvku SELECT můžeme uvedením parametru MULTIPLE umožnit označení více hodnot. Hodnota SIZE pak určuje počet zobrazených řádků. Při odeslání formuláře se předává seznam hodnot VALUE všech označených voleb.
|
Viz příklad.
Druhým typickým případem je zaškrtávací políčko CHECKBOX. Pokud dáme několika prvkům CHECKBOX stejný název NAME, dostáváme opět několik hodnot VALUE, pro všechna zaškrtnutá pole.
|
Viz příklad.
Obecně můžeme ve formuláři mít několik polí se stejným názvem. Nic nám nebrání v tom, pojmenovat stejně několik např. textových polí.
|
Viz příklad.
Ale pozor, v tomto případě se odesílají hodnoty všech polí, pro nevyplněná pole tedy prázdný řetězec. Stejně tak můžeme dát stejné NAME skupině jakýchkoliv formulářových polí. Dokonce můžeme zkombinovat různé typy pole. Ale praktická použitelnost asi bude pouze u toho seznamu s možností výcenásebného výběru a u skupiny zaškrtávacích polí.
Při následném zpracovávání takového rormuláře dostáváme pro jeden klíč kolekce request.form resp request.querystring (podle toho, jestli formulář posíláme metodou POST nebo GET) několik hodnot. Jejich zpracování v ASP je velice jednoduché. Obě kolekce nabízí vlastnost Count, která udává počet hodnot pro daný klíč. Tuto vlastnost lze použít i pokud použijeme request bez specifikace, o jakou kolekci jde.
|
Při čtení jednotlivých hodnot pak stačí uvést pořadové číslo hodnoty:
|
Jednoduchý skript pro načtení hodnot formulářového prvku VyberA z našeho prvního příkladu, odeslaného metodou POST, do pole PoleA by tedy vypadal takto:
|
Poznámka: pokud neznáme dopředu velikost pole, můžeme ho vytvořit jako dynamické. To znamená, že při jeho deklaraci příkazem Dim neuvedeme jeho velikost a před jeho použitím tuto velokost určíme příkazem ReDim.
Celý seznam hodnot můžeme přečíst i najednou.
|
Výsledkem je pak textový řetězec, obsahující jednotlivé hodnoty oddělené čárkou a mezerou. Tedy například označením hodnot 1, 3 a 5 dostaneme řetězec "1, 3, 5".
A to je pro dnešek vše, přátelé.
Mohlo by vás také zajímat
-
Jak nainstalovat šablonu ve WordPressu
23. července 2024 -
Souboj na trhu s CPU pro servery: AMD vs. Intel
8. prosince 2023 -
Proč investovat do nejvýkonnějších VPS s AMD EPYC procesory
14. června 2024 -
AI v programování: Jak používat GitHub Copilot (část 1)
12. února 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