Ú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

  1. Zapomenutý převod typu po prompt()
    Vše, co vrátí prompt(), je text. Pokud s hodnotou chceme počítat, musíme použít Number() nebo parseInt().

  2. Neošetřený prázdný vstup nebo zrušení dialogu
    Funkce prompt() může vrátit prázdný řetězec ("") nebo null, pokud uživatel klikne na Zrušit. Obě situace je nutné ošetřit.

  3. 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.

  4. 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.