Úloha 2 – Interaktivní sčítání s kontrolou vstupů
Úvod do úlohy
Po zvládnutí základních vestavěných funkcí pro práci s daty se nyní zaměříme na funkce pro komunikaci s uživatelem. JavaScript nabízí tři jednoduché, ale velmi užitečné nástroje: prompt(), alert() a confirm(). Tyto funkce umožňují zobrazit uživateli zprávu, získat od něj vstup nebo si vyžádat potvrzení nějaké volby.
Jejich výhodou je jednoduchost – nevyžadují žádné HTML formuláře ani složité skripty. Stačí je zavolat a okamžitě se objeví vyskakovací okno v prohlížeči. Právě proto se často používají při výuce, testování kódu nebo v situacích, kdy potřebujeme rychle ověřit chování programu.
V moderních webových aplikacích se však jejich použití omezuje spíše na jednoduché prototypy nebo interní nástroje, protože narušují plynulý běh stránky a nejsou vizuálně přizpůsobitelné.
Teorie a principy
1. Funkce alert()
Zobrazí informační okno s textem a tlačítkem OK. Je vhodná pro upozornění nebo zobrazení výsledků výpočtu.
Funkce nic nevrací – pouze pozastaví běh skriptu, dokud uživatel nepotvrdí zprávu.
2. Funkce prompt()
Zobrazí dialogové okno s textem, vstupním polem a tlačítkem OK a Zrušit.
Vrací řetězec s hodnotou, kterou uživatel zadal, nebo null, pokud klikl na Zrušit.
Základní tvar:
Vždy je vhodné ověřit, že uživatel skutečně něco zadal:
3. Funkce confirm()
Zobrazí dialogové okno s textem a tlačítky OK a Zrušit.
Vrací true, pokud uživatel klikl na OK, a false, pokud zvolil Zrušit.
Příklad:
Praktické příklady kódu
Příklad 1: Jednoduchá interakce
Tento kód demonstruje kombinaci funkcí prompt(), Number() a alert(). Uživatel zadá dvě čísla a skript vypočítá jejich součet.
Příklad 2: Potvrzení volby
Funkce confirm() vrací logickou hodnotu podle uživatelovy volby. Lze ji tedy snadno použít v podmínkách.
Příklad 3: Reakce na vstup uživatele
Tento příklad propojuje všechny tři funkce do jednoho jednoduchého rozhovoru s uživatelem.
Typické chyby a záludnosti
-
Zapomenutý převod typu po
prompt()
Vše, co vrátíprompt(), je text. Pokud s hodnotou chceme počítat, musíme použítNumber()neboparseInt(). -
Neošetřený prázdný vstup nebo zrušení dialogu
Funkceprompt()může vrátit prázdný řetězec ("") nebonull, pokud uživatel klikne na Zrušit. Obě situace je nutné ošetřit. -
Narušení uživatelského rozhraní
Tyto dialogy pozastavují vykonávání skriptu a zablokují zbytek stránky, dokud nejsou potvrzeny. Proto nejsou vhodné pro komplexní aplikace. -
Chybějící kontext v textu dialogu
Upozornění by měla být stručná, ale srozumitelná. Vyvarujte se obecných zpráv typu „Chyba!“ bez vysvětlení.
Shrnutí
-
alert()– zobrazuje krátké informační zprávy. -
prompt()– umožňuje získat textový vstup od uživatele. -
confirm()– zjišťuje, zda uživatel souhlasí s akcí (OK / Zrušit). -
Funkce jsou vhodné pro výuku, testování a jednoduché prototypy.
-
V reálných aplikacích je vhodnější používat formuláře, vlastní dialogová okna nebo manipulaci s DOM.
-
Při práci s těmito funkcemi je důležité ošetřit všechny možné vstupy a správně převádět datové typy.