V tomto díle si budeme povídat o oknech v JavaScriptu. V JavaScriptu se to totiž okny jenom hemží, a práce s okny je oblíbenou hračkou pro mnoho autorů stránek. V minulém díle jsme si ukázali, jak otevřít okno se zprávoupomocí příkazu alert. Kromě toho existují i další příkazy, která otevírají jiné druhy oken. Často například potřebujete, aby vám čtenář odpověděl na nějakou otázku. A právě okny, které to umožňují, se budeme v tomto díle zabývat.

Takže začínáme. Příkaz confirm dovoluje uživateli vybrat ze dvou možností: OK, nebo Storno, jak vidíte na obrázku:

Výsledek příkazu confirm

Zde je ukázka kódu, jak zabudovat příkaz confirm do stránky:

<html>
<head>
<title>pokus</title>
</head>
<body>
<a href="javascript:void confirm(‚Líbí se vám tento článek?‘);">Ukázka příkazu confirm</a>
</body>
</html>

Oproti minulému dílu je zde před příkazem confirm zařazeno slovo void. Velmi zjednodušeně řečeno, je tu proto, že příkaz confirm je, pokud ho napíšeme do odkazu jako splašený kůň. Pokud se vynechá slovo void, po kliknutí buď na OK, nebo Storno vám zavře stránku, a místo ní napíše buď false, nebo true, podle toho, kam jste klikli. Můžete si to vyzkoušet. Podrobnější vysvětlení bude předmětem dalších dílů, nyní pouze napíšu, že slovo void ho zkrotí a udrží bez těchto efektů. A zde si můžete příkaz confirm vyzkoušet (stačí kliknout na odkaz):

Ukázka příkazu confirm

Další možností je, že chcete po čtenáři, aby zadal nějaký text, nebo číslo, heslo, prostě cokoli. K tomu potom slouží příkaz prompt, který otevře okno s řádkou pro zadání textu:

Výsledek příkazu prompt

Pro vyzkoušení příkazu prompt uvádím kód příslušné HTML stránky. V této ukázce HTML stránky už nebudou použity odkazy, ale bude se zapisovat JavaScript dovnitř značky <script>, která je v HTML určena právě pro zápis příkazů:

<html>
<head>
<title>První pokus</title>
</head>
<body>
<script type="text/javascript" language="JavaScript"><!–
  prompt(‚Zadejte prosím heslo:‘,’Interval‘);
//–>
</script>
</body>
</html>

Při tomto zápisu se nebude na nic čekat, a hned při natahování stránky se příkaz spustí. V našem případě máme příkaz prompt, takže se zobrazí výzva pro zadání hesla. Vše si můžete zkusit na této stránce.

V závorce za příkazem prompt jsou očekávány dva údaje. Prvním údajem je text, který se zobrazí jako výzva vašemu čtenáři (v našem případě je to text Zadejte prosím heslo). Druhým údajem je předpřipravená odpověď, která so zobrazí v editační řádce (v našem případě je to text Interval). Ať už tento druhý údaj zadáte jakkoli, vždy jej čtenář může přepsat. Zde si tedy můžete příkaz prompt vyzkoušet přímo (stačí kliknout na odkaz):

Ukázka příkazu prompt

Pokud si prohlédnete zápis, zjistíte, že příkazy JavaScriptu jsem napsal mezi <script> a </script>. Vše, co je mezi tím, představuje pro prohlížeč příkazy nějakého skriptu. Skriptů je ale mnoho druhů, jak jsem psal v prvním díle. Proto je potřeba do značky <script> doplnit, že chceme používat právě JavaScript. Na to bohužel existují dva způsoby, jeden starý a jeden nový. Podle starého způsobu se píše language="JavaScript". Tento způsob je nedoporučený podle normy pro jazyk HTML, měl by být tedy odsouzen k vymření. Přesto se stále uvádí, protože starší prohlížeče nerozumějí vždy novému způsobu. Nový způsob používá type="text/javascript", což je moderní metoda zápisu. Protože chci, aby moji stránku mohlo obdivovat co nejvíce čtenářů, použiji obě dvě metody najednou.

Dále si můžete všimnout, že mezi značkou <script> a </script> používám komentáře na plný plyn. Všechny příkazy jsou uzavřené mezi <!– a –>, což jsou právě komentáře pro HTML jazyk. To dělám pro případ, pokud používá čtenář mojí stránky nějaký předpotopní prohlížeč, který neumí JavaScript. V takovém případě totiž prohlížeč místo příkazů uvidí komentáře, a všechny příkazy JavaScriptu přeskočí. A vše je v nejlepším pořádku. Pokud čtenářův prohlížeč JavaScript umí, potom chytře usoudí, že takové komentáře uvnitř skriptů tam nemají co dělat, a provede všechny příkazy. Pokud chci používat komentáře uvnitř příkazů JavaScriptu, musím použít dvě lomítka //. Ty jsem také použil pro jistotu na posledním řádku před </script>. Důvod je ten, že některé verze prohlížeče Netscape Navigator neumí konec komentáře –> uvnitř skriptu korektně zpracovat, což je chybou. Takže pomocí divoké kombinace komentářů jsem dosáhl korektní práce na (snad) všech prohlížečích. Pokud jsem vám to trochu zamotal, nic si z toho nedělejte, a prostě do svých stránek opisujte komentáře stejným způsobem.

A to je pro tento díl vše.

Starší komentáře ke článku

Pokud máte zájem o starší komentáře k tomuto článku, naleznete je zde.

Žádný příspěvek v diskuzi

Odpovědět