>> SPEAKER 1: Nyní v tomto posledním příkladu, Připomínám, že jsme se střídají některé
JavaScript kód uvnitř mého HTML, konkrétně, uvnitř hodnoty
atribut s názvem On Odeslat pro tento tag formuláře.
Nyní pro malé strany, to není tak velký problém.
Ale jak webové stránky dostane delší a více komplexní, jednoduše uvedení svého
JavaScript kód sem a tam uvnitř z hodnoty atributů není
Nejlepší design.
Nejlepší, kdybychom faktor, který, a alespoň dát dovnitř
tag script centrálně.
>> Jak to udělat?
No pojďme se vrátit k mému tagu form a nejprve odstranit tento atribut a jeho
cení úplně.
Pak tady, spíše než definovat funkce tzv. Greet, pojďme viset na
na řádek kódu, který nakonec jsme bude stále chtít spustit a nahradit
funkce Greet následovně.
Document.get prvku ID citovat konec citátu demo -
kde demo, odvolání, je jedinečný Identifikátor pro samotný formulář -
tečka na odeslat, které připomínají je název z obslužné rutiny události, ve kterém
máme zájem.
A pojďme přiřadit, že na předložení psovoda hodnota, která je ve skutečnosti
pracovat sám.
>> Nyní si všimnout, že nejsem ve skutečnosti volání funkce tady.
Já místo toho definuje anonymní, jinak známý jako funkce lambda,
určením mezi těmito složených závorek banda kód, který by měl
skutečně proveden.
Konkrétně se jedná o kód, který bych rád provádět je, že linie, která jsem měl
před, a pak dodejme k tomu return false tak, že tato forma není
nakonec předložen do konce vzdálený web server v tradičním způsobem.
>> Pojďme se nyní tento soubor uložit, otevřít ho v prohlížeči, a uvidíme, co se stane.
http://localhost/dom-1.html.
Pojďme se nyní zadejte své jméno, David, Odeslat.
A zdá se, nic se nestalo kromě URL mé stránky Zdá se, že
se změnily, jako by byla forma vlastně předložen do stejného souboru.
>> A teď, proč by to mohlo být?
No já potřebovat více informací.
Tak pojďme do toho a otevřít Chrome je Nástroje pro vývojáře, takže můžu skutečně
podívejte se na konzolovém okně vidět jestli jsem udělal něco špatně.
Mohu přistupovat, že přes několik způsobů.
Jedním z nich je prostřednictvím této nabídky zde, pak v menu Nástroje, pak dolů na
Nástroje pro vývojáře.
>> A všimněte si zde v záložce Console, tam je nezachycené chyby typu, nemůže
nastavte vlastnost na odeslat null.
A teď, proč by to mohlo být?
No zpátky do zdrojového kódu zde, oznámení že na submit Myslím, že je
vlastnost prvku, jehož jedinečný identifikátor je demo.
Prvek, je opět jen uzel ve stromu.
>> Takže se zdá, že můj prohlížeč není myslím, že tento prvek
nebo uzel existuje ještě.
A skutečně, to není.
Připomeňme, že webová stránka je analyzován nebo číst o webovém prohlížeči, shora dolů,
zleva doprava.
A tak, když kód JavaScript je setkal, typicky je to popraven
hned.
>> Ale v tomto případě jsme se ani nedostal ještě k části dom,
HTML, ve které formulář s jedinečným Identifikátor demo byl vyhlášen.
A tak se snažíme vykonat my JavaScript kód před tímto uzlem i
existuje ve stromu, který, samozřejmě, je problematické, protože pak, jistě,
prvek sám o sobě bude mít hodnotu null v tomto okamžiku.
>> Tak jak to opravit?
No máme několik řešení.
Ale zkusme nejjednodušší přemístěním můj skript tag z hlavy
označit k mému tělu, ale konkrétně, k spodní část těla mé stránky tak,
, že je to pouze v uzlech a otázky.
Konkrétně, pojďme označte a snížit open tag a zavřít tag pro tento scénář
a přemístit, že celý blok kódu na konec souboru zde.
>> Nyní to není nezbytně nejčistší navrhnout, ale alespoň to bude
vynutit správné pořadí operací.
Pojďme soubor uložte a znovu ve svém prohlížeči.
Pojďme znovu načíst stránku, re-vstup mé jméno, a tam, Hello David je zpět.