V JavaScripte existujú tri základné operácie, ktoré umožňujú prijímať údaje od používateľa na ďalšie spracovanie v skriptoch. Tieto sú varovné, rýchle a potvrdzujúce. Na čo sa používajú, ako ich používať a ďalšie nuansy sa budú diskutovať neskôr v tomto článku.

upozorniť

Používa sa na zobrazenie modálneho okna na obrazovke prehliadača (to znamená, že používateľ nemôže kliknúť na nič na stránke, kým toto okno nezavrie. V tomto príklade, kým v okne neklikne na „OK“).

Po zobrazení správy obsiahnutej vo výstrahe sa vykonávanie skriptu pozastaví a obnoví sa po zatvorení modálneho okna.

V prípade plnenia a kliknutím na tlačidlo OK skript vráti informácie, ktoré používateľ zadal.

Syntax tohto príkazu o niečo zložitejšie ako predchádzajúce, pretože vám umožňuje nastaviť text výzvy používateľa a obsah poľa na zadanie informácií, ktoré sa predvolene zobrazia: výsledok = prompt(nadpis, predvolene) ;, kde

  • titul- správa, ktorá sa zobrazí používateľovi v modálnom okne. Argument je povinný.
  • predvolená- čo sa bude štandardne zobrazovať v poli na zadávanie textu. Vyžaduje sa aj vyplnenie, pretože ak nie je nastavené, môže to viesť k chybám v niektorých prehliadačoch. Ak chcete ponechať vstupné pole prázdne, nastavte výzvu nasledovne:

    var myTest = prompt("Akékoľvek informácie" , """);

Malý rýchly príklad použitia:

var rok = prompt( "V ktorom roku si skončil strednú školu?", 2008); alert("Si absolventom " + ročníka + " ročníka!" ) ;

Tento príkaz sa zvyčajne používa na zhromažďovanie údajov od používateľov, ktoré skript potrebuje na ďalšiu prácu.

potvrdiť

Tiež predstavuje modálne okno. Keďže z názvu nie je ťažké uhádnuť, zvyčajne sa používa na to, aby ste sa s používateľom na niečom zhodli.

Na to vylepšené - pre interakciu poskytuje používateľovi tlačidlá OK a ZRUŠIŤ, ktoré vrátia do skriptu boolovské hodnoty true a false Hodnotenia: 4 (priemer 4 z 5)

V tejto lekcii sa zoznámime s metódami objektu okna: alert() , prompt() a potvrdit() .

metóda alert().

Metóda alert() je určená na zobrazenie dialógového okna s upozornením so zadanou správou a tlačidlom OK na obrazovke používateľa. Môže sa použiť na sprostredkovanie dôležitých informácií používateľovi.

window.alert(Parameter_1);

Metóda alert() má jeden povinný parameter, ktorým je text správy, ktorá sa zobrazí v dialógovom okne. Táto metóda v dôsledku jej vykonania nič nevracia.

Zobrazme napríklad dialógové okno s upozornením pre návštevníka stránky pri kliknutí na odkaz: Prejdite na stránku

metóda potvrdiť().

Metóda potvrdiť() objektu okna je určená na zobrazenie dialógového okna so zadanou správou a tlačidlami OK a Zrušiť na obrazovke používateľa. Pomocou okna potvrdenia môžete používateľa požiadať o povolenie na vykonanie akcie.

var vysledokPotvrdit = potvrdit(Parameter_1);

Táto metóda má jeden parameter – text správy, ktorý sa zobrazí v dialógovom okne.

Metóda potvrdiť() vracia jednu z dvoch hodnôt ako výsledok (resultConfirm) svojho vykonania:

  • true, ak používateľ klikol na tlačidlo OK;
  • false, ak používateľ klikol na tlačidlo Zrušiť alebo ho zatvoril.

Ukážme napríklad v prvku p s id="resultConfirm" výsledok kliknutia používateľa na tlačidlo "OK" v dialógovom okne:

prompt() metóda

Metóda prompt() je určená na zobrazenie dialógového okna so správou, textovým poľom na zadávanie údajov a tlačidlami „OK“ a „Zrušiť“ na obrazovke používateľa. Je určený na vyžiadanie údajov od používateľa.

var vysledokPrompt = prompt(Parameter_1, Parameter_2);

Táto metóda má dva parametre:

  • správu, ktorá sa zobrazí v dialógovom okne. Tento parameter je povinný a obsahuje správu, ktorá „hovorí“, aké údaje má používateľ zadať do textového poľa;
  • druhý parameter je voliteľný a dá sa použiť na určenie počiatočnej hodnoty, ktorá sa po otvorení zobrazí vo vstupnom poli dialógového okna.

V závislosti od akcií používateľa môže metóda prompt() vrátiť nasledujúce údaje:

  • textová hodnota - ak vstupné pole obsahuje údaje a používateľ klikol na "OK";
  • prázdny reťazec - ak vstupné pole neobsahuje údaje a používateľ klikol na "OK";
  • null - ak používateľ klikol na "Zrušiť" alebo zatvoril toto okno, nezáleží na tom, aké údaje boli zadané do textového poľa.

Poznámka: Dialógové okno, ktoré sa zobrazí ako výsledok vykonania jednej z metód alert() , potvrdit() alebo prompt() je modálne, t.j. blokuje prístup používateľa k nadradenej aplikácii (prehliadaču), kým používateľ nezatvorí dialógové okno.

Používateľa sa napríklad opýtame na meno a v závislosti od výsledku zobrazíme text v prvku c id="nameUser" :

Napríklad požiadajme používateľa, aby uhádol číslo 8:

... Hádaj číslo

V tomto článku preskúmame tri zaujímavé metódy, a to metódy alert(), potvrdiť() a prompt().. Oni všetci určené na interakciu s používateľom.

Všetky tieto tri metódy patria do objektu okna. A môžu sa volať takto: window.method_name(); JavaScript nám však umožňuje nešpecifikovať tento objekt okna, ale jednoducho napísať názov metódy.

Začneme s metódou alert(). Táto metóda zobrazí zadanú správu v okne prehliadača používateľa. Toto pole sa zobrazí v hornej časti celej stránky a kým používateľ neklikne na tlačidlo OK, nezatvorí sa.

Aby sme to demonštrovali, zobrazme nejakú správu pomocou metódy alert ().

var today_is = "pondelok"; alert("Dnes je " + dnes_je);


Vo vnútri metódy môžeme zadať ľubovoľný reťazec, len bez html tag ov. Nie sú tu spracované, ale zobrazené tak, ako sú.

Ak je reťazec, ktorý chceme zadať, veľmi dlhý a chceme naň skočiť Nový riadok, potom je tu značka html
nebude fungovať. Tu musíte použiť znak "\n".

Alert("Looooooooong \nStringgggggg");


Táto metóda sa často používa nájsť chybu v kóde.

Proces spracovania kódu ide zhora nadol, takže na zachytenie chyby jednoducho napíšeme metódu alert () do zamýšľanej oblasti, kde sa chyba nachádza. A ak alert() fungovalo, potom nie sú žiadne chyby až po riadok, kde je napísaný.

Ďalej ho musíte presunúť o jeden alebo viac riadkov nižšie. Uložíme zmeny, znova obnovíme stránku v prehliadači a uvidíme, či alert() fungovalo, čo znamená, že pred riadkom, kde sa nachádza, nie sú žiadne chyby, inak ak to nefungovalo, chyba je na riadku vyššie, kde sa momentálne nachádza. Týmto spôsobom môžete nájsť chybu v kóde.

metóda potvrdiť().

Táto metóda sa používa na potvrdenie odpovede na nejakú otázku. Existujú iba dve možnosti odpovede, áno (OK) alebo nie (Zrušiť / Zrušiť). Ak používateľ odpovie áno, metóda vráti hodnotu true, inak vráti hodnotu false.

Napríklad zobrazíme okno pomocou metódy potvrdiť(), kde sa používateľa opýtame „Ste si istý, že chcete opustiť stránku?“. Ak používateľ odpovie áno, tak cez metódu alert() zobrazíme takúto správu „Používateľ chce opustiť stránku“, v opačnom prípade zobrazíme ďalšiu správu „Používateľ nechce opustiť stránku“.

Var user_answer = potvrdit("Naozaj chcete opustiť stránku?"); if(user_answer) alert("Používateľ chce opustiť stránku"); else alert("Používateľ NECHCE \nstránku opustiť");


Takto funguje metóda potvrdiť(). Dá sa použiť pri rôznych príležitostiach. Napríklad pred odstránením niečoho zo stránky je zvykom opýtať sa používateľa, či si je istý svojimi činmi. Alebo sa ešte pred odoslaním formulára môžete používateľa spýtať „Vyplnil si všetko správne?“ Ak odpovie áno, tak sa formulár odošle, inak sa neodošle.

prompt() metóda

A posledná metóda, ktorú sa naučíme, je metóda prompt(). Táto metóda sa používa menej často ako ostatné dve metódy. Umožňuje vám získať od používateľa niektoré informácie, ktoré zadá do textového poľa.

Výsledkom je, že metóda prompt() vráti buď vstupný reťazec, ak používateľ klikol na tlačidlo OK, alebo hodnotu null, ak používateľ klikol na tlačidlo zrušiť.

Ako parameter, teda vo vnútri zátvoriek túto metódu môžeme napísať výzvu alebo otázku, aby používateľ vedel, aké informácie má zadať.

Požiadajme napríklad používateľa, aby odpovedal na otázku „Ako sa voláš?“. Meno zadané používateľom sa zobrazí na obrazovke pomocou metódy alert().

Varname = prompt("Ako sa voláš?"); alert("Vaše meno je " + meno);

Uložte a otvorte stránku v prehliadači.


Samozrejme, pomocou metódy prompt() je možné do textového poľa zadať akékoľvek informácie. Tieto informácie budú vrátené ako reťazec, a to aj v prípade čísel alebo iných špeciálnych znakov.

Požiadajme napríklad používateľa, aby zadal dve čísla, aby ich mohol neskôr vynásobiť. K dispozícii bude kalkulačka na násobenie čísel.

Var x = prompt("Zadajte prvé číslo:"); var y = prompt("Zadajte druhé číslo:"); //Prevod zadaných čísel z typu reťazec na typ číselný x = Číslo(x); y = číslo (y); document.write(x + " * " + y + " = " + (x * y));

Zadané čísla sú reťazce, takže pre správny výsledok násobenia musia tieto čísla prejsť funkciou Number(), ktorá ich prevedie z typu reťazca na normálne čísla.

No to je všetko. Teraz poznáte ďalšie tri spôsoby: upozorniť(), potvrdiť() a vyzvať(). Ktoré môžete pokojne využiť v praxi.

  • metódy okenných objektov;
  • metóda alert(): krátke zhrnutie;
  • metóda potvrdiť() - písať písmená;
  • metóda prompt() - poďme sa zoznámiť, ja som Stirlitz.

Takže objekty prehliadača. A v prvom rade - najstarší z nich, objekt okno.

Tu sú hlavné metódy objektu okno(okrem nich sú tu aj ďalšie, ale málo použiteľné a aby som nezahltil mozog zbytočnými informáciami, odložím ich až na tretiu sériu).

Metóda

Popis

otvárať a zatvárať okná prehliadača; je možné určiť veľkosť okna, jeho obsah, ako aj prítomnosť klávesnica, polia adries a ďalšie atribúty.

Zobrazenie dialógového okna alarmu s príslušnou správou.

Zobrazenie potvrdzovacieho dialógového okna s tlačidlami „OK“ a „Zrušiť“.

Vzhľad dialógového okna výzvy s poľom na zadávanie textu.

Nastavte alebo odstráňte zameranie okna.

Posúva obsah okna do konkrétneho bodu.

Nastavenie časového intervalu medzi volaním funkcie a vyhodnotením výrazu.

Nastavenie jednorazového intervalu pred volaním funkcie alebo vyhodnotením výrazu.

To už vieme oknočasto naznačené, ale nie napísané.

Vyvolanie rôznych dialógových okien

Dialógové okná sa používajú v programoch na interakciu s používateľom.

metóda alert().

Rozoberali sme to hneď na začiatku štúdia. Vytvára jednoduché dialógové okno so správou a tlačidlom OK. Celá jeho interakcia je obmedzená na to, že používateľ stlačením tohto jediného tlačidla môže toto okno poslať niekam ďaleko (a za to mu ďakujeme).

metóda potvrdiť().

Metóda potvrdiť () už umožňuje užívateľovi urobiť to najjednoduchšie „boolovské“ rozhodnutie: povedať „áno“ alebo „nie“.

Kliknite napríklad na toto tlačidlo:

Ospravedlňujem sa za malý žart. Dúfam, že viete, ako používať tlačidlo späť.

Ako je to celé usporiadané? Samozrejme ste videli, že mám túto metódu kombinovanú s upozorneniami. A to sa deje pomocou funkcie, ktorá je vložená .

Metóda vracia dve hodnoty: pravda(ak je v poriadku) a falošný(v prípade zrušenia).

AT pravda pošleme ho na príslušnú stránku (vlastníctvo href objekt umiestnenie) a vypíšte príslušné upozornenie(). V opačnom prípade (t.j. falošný) vypíšte ďalší upozornenie().

A v tlačidle voláme funkciu v udalosti po kliknutí:

A potom musíte zavolať túto funkciu z obsluhy udalosti onOdoslať tag

, napríklad:

"http://narod.yandex.ru/send-poll.xhtml" method="post" onSubmit= "vrátenie potvrdenia akcie()" >

Tu mi môžete napríklad napísať na "mydlo" všetko, čo si myslíte o mojich lekciách. Ak ste sa zrazu rozčúlili a stlačili ste tlačidlo, a potom sa vám to nejako zvrtlo, objaví sa dialógové okno a vytriezvie vás.

Ak vytvárate kontextové okná, je dobrým zvykom varovať používateľa a dať mu na výber, či má okno otvoriť alebo nie. Ak to chcete urobiť, pred načítaním okna musíte uvoľniť dialógové okno "parlament". potvrdiť (). Tu sa funkcia volá z . O tom si povieme veľmi skoro, keď prejdeme k vytváraniu okien pomocou metódy OTVORENÉ().

prompt() metóda

Táto metóda už používateľa vyzve na zadanie konkrétnych údajov. Zobrazí sa dialógové okno so vstupným poľom. Metóda vráti údaje, ktoré používateľ zadal do tohto poľa a umožní programu s týmito údajmi pracovať.

Pri metóde prompt() dva argumenty: otázka (ktorá sa zobrazuje nad vstupným poľom) a odpoveď (text vo vstupnom poli):

Ak chcete, aby vstupné pole vyzeralo čisté, vložte ako druhý argument prázdne úvodzovky:

výzva("text otázky","")

Pozrime sa na to v praxi. Stlačte tlačidlo, nebojte sa.

Takže ste zadali (alebo nezadali) údaje a dostali ste odpoveď z počítača na základe týchto údajov (alebo ich nedostatku).

Tu je jednoduchá verzia tejto funkcie:

Nehnuteľnosť innerHTML, ktorý umožňuje ovládať obsah tagu, sme sa stretli na lekcii 10, keď sme programovali názvy pod obrázkami.

A tu je kód pre tlačidlo a prázdny odsek pre pozdrav.


Ale ak ste sa ukázali ako môj menovec, videli ste, že funkcia reagovala aj na toto.

Ako to urobiť v "hrubej" verzii, už môžete hádať sami. Je potrebné skontrolovať premennú užívateľské meno nielen na prázdne úvodzovky, ale aj na " Andrew“ a pridajte ešte jednu ak s príslušným textom (môžete si precvičiť sami).

Ale ak napíšete " Andrew", "Andryusha", "Andryushka", "Andryukha", "Andrejka", "Andrej Ivanovič“ atď., potom bude výsledok podobný, aj keď som neprešiel výslovne všetky tieto hodnoty, ale zvládol som iba päť riadkov: Andre", "Andrew", "Andrew", "Andreiche" a " Andreichu"(posledné tri - aby sa vylúčili Andreev, Andreichenko a Andreichuk z menoviek, pričom Andreichik zostal v meninách).

To znamená, že môžete hádať, že funkcia kontroluje premennú užívateľské meno pre prvých 5, 6 alebo 8 znakov.

Ale o tom si povieme trochu neskôr, keď prejdeme k objektom typu string a ich metódam. Chcem len, aby ste si vopred predstavili úlohy, ktoré musíme vyriešiť (najmä všetky druhy rozdeľovania reťazcov na podreťazce). Potom sa samotné rozhodnutia budú zdať jasnejšie. Ak sa ale neviete dočkať, môžete si funkciu „skopírovať“ z kódu a „ostrihať ju ako orech“. Pre zvedavcov som tam napísal komentár.

Metóda prompt() možno použiť aj na zadanie hesla.

Toto nie je koniec lekcie!

Poďme sa trochu „zahrať na špióna“, aby sme dočítali túto kapitolu. Najprv skúste stlačiť tlačidlo a niečo napísať.

Ach, to je všetko! Ale pozrite, je tu ďalšie tlačidlo! Poď...

heslo:

Znova stlačte prvé tlačidlo a zadajte správne heslo.

Všetka táto sranda má možno vplyv, ale v skutočnosti sa heslo dá nájsť stlačením pravé tlačidlo a pozrieť sa na to v kóde. Niekto si môže naivne myslieť, že stačí dať kód do samostatného .js súboru. Ale v kóde stránky bude odkaz na tento súbor s adresou. A ak ho vytočíte adresný riadok, potom sa otvorí súbor s kódom JavaScript :)

Je možné zašifrovať heslo v kóde? Môžete, ale to si opäť vyžaduje manipuláciu s reťazcami spolu s použitím niektorých matematických metód. Keď sa k tomu všetkému dostaneme, preštudujeme si aj „skutočný“ skript hesiel. Ale technika interakcie s používateľom bude stále rovnaká: metóda prompt(). (Je možné „prelomiť“ šifrované heslo? Bohužiaľ, dokonalosť hackerov nemá žiadne hranice ...)

Tak, ako sme „zachytili“ meno alebo jeho absenciu, zachytíme aj heslo s funkciou.

Ak zadáte nesprávne heslo alebo nezadáte nič, riadok

document.getElementById("no").style.display = "blok"

otvorí blok druhým tlačidlom

A ak je zadané správne heslo, akcia sa prenesie do reťazca

document.getElementById("yes").style.display = "blok",

čím sa otvorí ďalší blok

Stop, čo sú tie kryakozubry? Toto je jednoduchá šifra, čoskoro vysvetlím.

Zatiaľ uvádzam kód týchto blokov (pre prehľadnosť vynechávam tabuľku s rámami, ktorú som priložil do posledného bloku):


"no" style="display: none;" >

Ach, to je všetko! Ale pozrite, je tu ďalšie tlačidlo! Poď...




"moje heslo" style="display: none;" >

heslo:


Znova stlačte prvé tlačidlo a zadajte správne heslo.



"yes" style="display: none;" >

Teraz čítame ďalej.


. . . . .
. . . . .

Takže o šifrovaní. Je veľmi nešťastná. Akýkoľvek, poznaním funkcií uniknúť () a unescape(), okamžite ho hackne.

Funkcia escape("sem zadajte reťazec") konvertuje znaky na ich hexadecimálne hodnoty.

Funkcia unescape("sem vložte kvakauberov") robí opak.

Ak chcete heslo zašifrovať týmto spôsobom, musíte ho prejsť doma uniknúť (), skopírujte výsledok a vložte ho do unescape(). Ale toto, opakujem, nie je vážne.

No pre celá sada- funkcia pre druhé tlačidlo:

Na zobrazenie štandardných dialógových okien má JavaScript iba tri metódy, ktoré sme sa dnes naučili. Hoci sa tieto metódy nestávajú príliš často, schopnosť používať ich s istotou je mimoriadne užitočná. Sú jednoduché, no zároveň sú takpovediac „čistým“ programovaním. Sú veľmi dobré na vyplnenie vašej ruky pri ovládaní programovacieho jazyka. A radím vám, aby ste s nimi všemožne experimentovali, aj keď z pragmatického hľadiska bezcieľne. dobré programovanie- toto je vzrušujúca hra, ako vlastne každá kreativita.