>> SPEAKER 1: Teraz v tomto poslednom príklade, Pripomínam, že sme sa striedajú niektoré
JavaScript kód vnútri môjho HTML, konkrétne, vnútri hodnoty
atribút s názvom On Odoslať pre tento tag formulára.
Teraz pre malé strany, to nie je tak veľký problém.
Ale ako webové stránky dostane dlhší a viac komplexné, jednoducho uvedenie svojho
JavaScript kód sem a tam vo vnútri z hodnoty atribútov nie je
Najlepší dizajn.
Najlepšie, keby sme faktor, ktorý, a aspoň dať dovnútra
tag script centrálne.
>> Ako to urobiť?
No poďme sa vrátiť k môjmu tagu form a najprv odstrániť tento atribút a jeho
cenia úplne.
Potom tu, skôr než definovať funkcie tzv Greet, poďme visieť na
na riadok kódu, ktorý nakoniec sme bude stále chcieť spustiť a nahradiť
funkcie Greet nasledovne.
Document.get prvku ID citovať koniec citátu demo -
kde demo, odvolanie, je jedinečný Identifikátor pre samotný formulár -
bodka na odoslať, ktoré pripomínajú je názov z obslužnej rutiny udalosti, v ktorom
máme záujem.
A poďme priradiť, že na predloženie psovoda hodnota, ktorá je v skutočnosti
pracovať sám.
>> Teraz si všimnúť, že nie som v skutočnosti volanie funkcie tady.
Ja namiesto toho definuje anonymné, inak známy ako funkcia lambda,
určením medzi týmito zložených zátvoriek banda kód, ktorý by mal
skutočne vykonaný.
Konkrétne sa jedná o kód, ktorý by som rád vykonávať je, že línia, ktorá som mal
pred, a potom dodajme k tomu return false tak, že táto forma nie je
nakoniec predložený do konca vzdialený web server v tradičným spôsobom.
>> Poďme sa teraz tento súbor uložiť, otvoriť ho v prehliadači, a uvidíme, čo sa stane.
http://localhost/dom-1.html.
Poďme sa teraz zadajte svoje meno, David, Odoslať.
A zdá sa, nič sa nestalo okrem URL mojej stránky Zdá sa, že
sa zmenili, ako by bola forma vlastne predložený do rovnakého súboru.
>> A teraz, prečo by to mohlo byť?
No ja potrebovať viac informácií.
Tak poďme do toho a otvoriť Chrome je Nástroje pre vývojárov, takže môžem skutočne
pozrite sa na konzolovom okne vidieť či som urobil niečo zle.
Môžem pristupovať, že cez niekoľko spôsobov.
Jedným z nich je prostredníctvom tejto ponuky tu, potom v menu Nástroje, potom dole na
Nástroje pre vývojárov.
>> A všimnite si tu v záložke Console, tam je nezachytené chyby typu, nemôže
nastavte vlastnosť na odoslať null.
A teraz, prečo by to mohlo byť?
No späť do zdrojového kódu tu, oznámenia že na submit Myslím, že je
vlastnosť prvku, ktorého jedinečný identifikátor je demo.
Prvok, je opäť len uzol v strome.
>> Takže sa zdá, že môj prehliadač nie je myslím, že tento prvok
alebo uzol existuje ešte.
A skutočne, to nie je.
Pripomeňme, že webová stránka je analyzovaný alebo čítať o webovom prehliadači, zhora nadol,
zľava doprava.
A tak, keď kód JavaScript je stretol, typicky je to popravený
hneď.
>> Ale v tomto prípade sme sa ani nedostal ešte k časti dom,
HTML, v ktorej formulár s jedinečným Identifikátor demo bol vyhlásený.
A tak sa snažíme vykonať my JavaScript kód pred týmto uzlom aj
existuje v strome, ktorý, samozrejme, je problematické, pretože potom, iste,
prvok sám o sebe bude mať hodnotu null v tomto okamihu.
>> Tak ako to opraviť?
No máme niekoľko riešení.
Ale skúsme najjednoduchšie premiestnením môj skript tag z hlavy
označiť k môjmu telu, ale konkrétne, k spodnú časť tela mojej stránky tak,
, Že je to iba v uzloch a otázky.
Konkrétne, poďme označte a znížiť open tag a zavrieť tag pre tento scenár
a premiestniť, že celý blok kódu na koniec súboru tu.
>> Teraz to nie je nevyhnutne najčistejšie navrhnúť, ale aspoň to bude
vynútiť správne poradie operácií.
Poďme súbor uložte a znovu vo svojom prehliadači.
Poďme znova načítať stránku, re-vstup moje meno, a tam, Hello David je späť.