upozorniť, vyzvať, potvrdiť metódy v JavaScripte. Nahradenie dialógového okna s potvrdením jQuery

  • 18.06.2019

Hovoril som o "šablónových" modálnych oknách. Tie. tie, pre ktoré sú vytvorené samostatné súbory šablón. A zložitosť a sofistikovanosť týchto okien môže byť neobmedzená.

Na komunikáciu s používateľom sú však často potrebné veľmi jednoduché dialógové okná - stačí zobraziť nejaký druh správy jediným tlačidlom „OK“, ktoré si nemôže nevšimnúť, alebo ho požiadať o potvrdenie akejkoľvek akcie.

Stránky na takéto účely často používajú systémové funkcie.
V motore je niekoľko skupín takzvaných „systémových“ funkcií. Súbory obsahujúce tieto funkcie sa načítajú na samom začiatku motora, ešte pred načítaním konfiguračných súborov a samotné funkcie nie sú viazané na žiadny modul a možno ich použiť kdekoľvek, v akomkoľvek komponente – v moduloch, akciách, mapovačoch, atď." class="term">systémové funkcie upozornenie(), potvrdiť () a prompt(). Asi takto:
Vymazať všetko!
Funguje to v akomkoľvek prehliadači, ale okná, ktoré sa zobrazujú pomocou takýchto funkcií, vyzerajú škaredo, primitívne a rozbíjajú všetku krásu, ktorú na našu stránku vkladáme.

Na vyriešenie tohto problému v motore je teraz možné (povedal by som - je to potrebné) použiť analógy:

ls.modal.alert(options)- zobrazenie informačného okna jedným tlačidlom "OK"
ls.modal.confirm(options)- zobrazí okno s tlačidlami "Zrušiť" a "Potvrdiť"
ls.modal.prompt(options)- okno so vstupným poľom

Vo všetkých funkciách je parameter možnosti môže byť reťazec alebo objekt. Napríklad:
ls.modal.alert('Ahoj, svet!');
Tento kód zobrazil modálne okno s textom "Ahoj, svet!" a tlačidlo Dobre. A čo je najdôležitejšie, toto okno bude navrhnuté rovnakým spôsobom ako všetky ostatné modálne okná na vašom webe.

K kliknutiu na tlačidlo môžeme priradiť aj handler:
ls.modal.alert((title: "Hovorím", text: "Ahoj, svet!", onConfirm: function()( // používateľ klikol na tlačidlo Ok ))); Tu sa pridá názov okna "Ja hovorím" a po stlačení tlačidla sa vykoná funkcia, ktorá je odovzdaná v parametri onPotvrdiť.

Ale to nie je všetko! V tele okna môžeme zobraziť ľubovoľný HTML kód:
varhtmlCode=" Tu je váš nový avatar"; ls.modal.alert((title: "Avatar", html: htmlCode)); A dostaneme niečo takéto:

Upozorňujeme, že na zobrazenie kódu HTML sa používa parameter html, ale nie text(ak sú zadané oba parametre, použije sa text, a html budú ignorované).

Funkcie sa používajú podobne ls.modal.confirm() a ls.modal.prompt(). Ale v týchto funkciách sú možné ďalšie parametre. Napríklad v parametroch funkcií ls.modal.confirm() môžeme odovzdať nie jedného, ​​ale dvoch handlerov – jeden handler pre každé tlačidlo:
ls.modal.confirm((title: "Delete", text: "Delete all?", onConfirm: function()( // používateľ klikol na tlačidlo "Potvrdiť" ), onCancel: function()( // používateľ klikol na tlačidlo "Zrušiť" ) )); Funkcia ls.modal.prompt() sa používa na vyzvanie používateľa na zadanie určitej hodnoty. A môžeme nastaviť túto predvolenú hodnotu:
je modálny. prompt ((title: "Zadajte číslo", text: "Sem zadajte číslo", hodnota: 123 onConfirm: function(value)( // Zadaná hodnota v premennej
Všeobecná schéma názvu premennej je nasledovná: predpona+Voliteľná predpona+Názov premennej+Prípona. Názvy premenných obsahujú veľké a malé písmená latinky a začínajú malou predponou označujúcou typ údajov hodnoty premennej. Zoznam odporúčaných prefixov je uvedený nižšie. Voliteľná predpona určuje hodnotu premennej a vyberá sa zo zoznamu odporúčaných voliteľných predpôn nižšie. Názov premennej pozostáva z jedného alebo viacerých slov, ktoré popisujú význam tejto premennej, a je napísaný veľkými písmenami. Keďže predpony popisujú typ hodnoty premennej, jej názov popisuje inštanciu tohto typu v jednotnom čísle. Prípona dopĺňa názov premennej a upresňuje jej sémantický význam. Zoznam odporúčaných prípon je uvedený nižšie. Čísla v názve sú povolené, ale neodporúčajú sa. Znak podčiarknutia sa v názve nepoužíva.

Predpony
Odporúča sa použiť nasledujúci zoznam predpôn:
- a (pole) - hodnota poľa;
- b (bool) - logická hodnota;
- e (entita) - objekt typu Entita a od nej zdedený;
- i (celé číslo) - celočíselná hodnota;
- f (float) - hodnota skutočného typu;
- m (mapovač) - objekt typu Mapper a od neho zdedený;
- n (číslo) - hodnota nedefinovaného číslicového typu, ktorá môže mať celé číslo aj
skutočnú hodnotu. Pri použití vyžaduje kontrolu typovej hodnoty.

- o (objekt) - objekt typu odlišného od mapovača a entity;
- s (reťazec) - hodnota reťazca;
- x (zmiešané) - objekt zmiešaného typu. Pri použití vyžaduje kontrolu typovej hodnoty.

Odporúča sa použiť nasledujúci zoznam ďalších predpôn:
- Min (minimum) - minimálna hodnota;
- Max (maximum) - maximálna hodnota;
- Prúd - aktuálna hodnota.

Prípony
Na rozdiel od doplnkových predpôn, prípony určujú sémantický význam názvu premennej a nie jeho
význam. Odporúča sa použiť nasledujúci zoznam prípon:
- First - prvá hodnota z dostupného zoznamu;
- Last - posledná hodnota z dostupného zoznamu;
- Limit - limitná hodnota z dostupného zoznamu;
- Tmp - dočasná hodnota;
- New - nová (nastavená) hodnota;
- Old - stará (prepísaná) hodnota;

Výnimky
Existujú názvy premenných určené na špeciálne použitie - výnimky z uvedeného
odporúčania:
- i, j - iterátory pre malé slučky (slučka sa považuje za malú, ak sa celá zmestí
jedna obrazovka a umožňuje vám vidieť všetky výskyty iterátorov naraz);
- k, v - premenné cyklu foreach ($aData ako $k => $v);
- kľúč, hodnota - premenné cyklu foreach ($aData ako $key => $hodnota);
- s - reprezentácia serializovaných údajov;
- dáta - premenná s dátami v entitnom nastavovači, ako aj dátami vrátenými z mapovacích metód;
- sql - v mapovačoch premenná obsahujúca text dopytu - predpona "s" sa nepoužíva." class="term">premenná "hodnota" ) )); Tu sa hodnota zadaná používateľom odovzdá psovoda a môžeme pomocou neho určiť, čo s ním ďalej robiť.

Na záver tejto časti chcem upozorniť na jednu vlastnosť, na ktorú netreba zabúdať: existuje dôležitý rozdiel v správaní systémových funkcií upozornenie(), potvrdiť () a prompt() a ich náprotivky - ls.modal.alert(options), ls.modal.confirm(options) a ls.modal.prompt(options). Konkrétne - Systémové funkcie
V motore je niekoľko skupín takzvaných „systémových“ funkcií. Súbory obsahujúce tieto funkcie sa načítajú na samom začiatku motora, ešte pred načítaním konfiguračných súborov a samotné funkcie nie sú viazané na žiadny modul a možno ich použiť kdekoľvek, v akomkoľvek komponente – v moduloch, akciách, mapovačoch, atď." class="term">systémové funkcie zastavia vykonávanie javascriptového kódu a čakajú na reakciu používateľa. A až potom, čo používateľ zareaguje, spúšťanie kódu pokračuje. Keď použijete tu opísané funkcie, potom všetok kód, kde najskôr sa vykoná samotné volanie a až potom sa zobrazí dialógové okno.

Preto, ak vezmete kód na začiatku článku a jednoducho nahradíte hovor potvrdiť () na ls.modal.confirm() a kód bude musieť byť prepísaný takto:
Vymazať všetko!




Výsledkom je, že po obnovení stránky prehliadača sa zobrazí okno s pozdravom používateľa. Po stlačení tlačidla OK sa zobrazí nasledujúce okno, kde sa vás opýtajú na meno. Táto metóda má dva parametre, prvý je povinný a zodpovedá za nadpis, ktorý sa zobrazí, v našom prípade je to otázka používateľského mena. A druhý parameter je zodpovedný za hodnotu, ktorá sa predvolene zobrazí v textovom poli. Ak zadáte svoje meno a stlačíte tlačidlo OK, potom sa vaše meno zmestí do premennej menoPoužívateľa. Ak stlačíte tlačidlo Zrušiť, premenná sa zapíše nulový.
A nakoniec okno, ktoré sa používateľa spýta, či chce našu stránku opustiť alebo nie. V prípade dohody sa do premennej umiestni boolovská hodnota pravda a v prípade poruchy falošný resp. To je všetko, čo potrebujete vedieť o týchto metódach, uvidíme sa v ďalších tutoriáloch!