1 00:00:00,000 --> 00:00:00,380 2 00:00:00,380 --> 00:00:03,000 >> SPEAKER 1: Nyní v tomto posledním příkladu, Připomínám, že jsme se střídají některé 3 00:00:03,000 --> 00:00:07,170 JavaScript kód uvnitř mého HTML, konkrétně, uvnitř hodnoty 4 00:00:07,170 --> 00:00:10,460 atribut s názvem On Odeslat pro tento tag formuláře. 5 00:00:10,460 --> 00:00:12,850 Nyní pro malé strany, to není tak velký problém. 6 00:00:12,850 --> 00:00:15,950 Ale jak webové stránky dostane delší a více komplexní, jednoduše uvedení svého 7 00:00:15,950 --> 00:00:19,660 JavaScript kód sem a tam uvnitř z hodnoty atributů není 8 00:00:19,660 --> 00:00:20,830 Nejlepší design. 9 00:00:20,830 --> 00:00:23,440 Nejlepší, kdybychom faktor, který, a alespoň dát dovnitř 10 00:00:23,440 --> 00:00:25,200 tag script centrálně. 11 00:00:25,200 --> 00:00:26,080 >> Jak to udělat? 12 00:00:26,080 --> 00:00:30,040 No pojďme se vrátit k mému tagu form a nejprve odstranit tento atribut a jeho 13 00:00:30,040 --> 00:00:31,780 cení úplně. 14 00:00:31,780 --> 00:00:35,730 Pak tady, spíše než definovat funkce tzv. Greet, pojďme viset na 15 00:00:35,730 --> 00:00:39,405 na řádek kódu, který nakonec jsme bude stále chtít spustit a nahradit 16 00:00:39,405 --> 00:00:41,560 funkce Greet následovně. 17 00:00:41,560 --> 00:00:48,190 Document.get prvku ID citovat konec citátu demo - 18 00:00:48,190 --> 00:00:52,410 kde demo, odvolání, je jedinečný Identifikátor pro samotný formulář - 19 00:00:52,410 --> 00:00:56,600 tečka na odeslat, které připomínají je název z obslužné rutiny události, ve kterém 20 00:00:56,600 --> 00:00:57,710 máme zájem. 21 00:00:57,710 --> 00:01:01,990 A pojďme přiřadit, že na předložení psovoda hodnota, která je ve skutečnosti 22 00:01:01,990 --> 00:01:03,740 pracovat sám. 23 00:01:03,740 --> 00:01:06,390 >> Nyní si všimnout, že nejsem ve skutečnosti volání funkce tady. 24 00:01:06,390 --> 00:01:10,650 Já místo toho definuje anonymní, jinak známý jako funkce lambda, 25 00:01:10,650 --> 00:01:14,100 určením mezi těmito složených závorek banda kód, který by měl 26 00:01:14,100 --> 00:01:15,490 skutečně proveden. 27 00:01:15,490 --> 00:01:18,500 Konkrétně se jedná o kód, který bych rád provádět je, že linie, která jsem měl 28 00:01:18,500 --> 00:01:23,370 před, a pak dodejme k tomu return false tak, že tato forma není 29 00:01:23,370 --> 00:01:26,950 nakonec předložen do konce vzdálený web server v tradičním způsobem. 30 00:01:26,950 --> 00:01:30,345 >> Pojďme se nyní tento soubor uložit, otevřít ho v prohlížeči, a uvidíme, co se stane. 31 00:01:30,345 --> 00:01:33,050 32 00:01:33,050 --> 00:01:39,800 http://localhost/dom-1.html. 33 00:01:39,800 --> 00:01:43,060 Pojďme se nyní zadejte své jméno, David, Odeslat. 34 00:01:43,060 --> 00:01:46,900 A zdá se, nic se nestalo kromě URL mé stránky Zdá se, že 35 00:01:46,900 --> 00:01:52,580 se změnily, jako by byla forma vlastně předložen do stejného souboru. 36 00:01:52,580 --> 00:01:53,870 >> A teď, proč by to mohlo být? 37 00:01:53,870 --> 00:01:55,340 No já potřebovat více informací. 38 00:01:55,340 --> 00:01:58,700 Tak pojďme do toho a otevřít Chrome je Nástroje pro vývojáře, takže můžu skutečně 39 00:01:58,700 --> 00:02:01,440 podívejte se na konzolovém okně vidět jestli jsem udělal něco špatně. 40 00:02:01,440 --> 00:02:03,330 Mohu přistupovat, že přes několik způsobů. 41 00:02:03,330 --> 00:02:07,250 Jedním z nich je prostřednictvím této nabídky zde, pak v menu Nástroje, pak dolů na 42 00:02:07,250 --> 00:02:08,509 Nástroje pro vývojáře. 43 00:02:08,509 --> 00:02:12,890 >> A všimněte si zde v záložce Console, tam je nezachycené chyby typu, nemůže 44 00:02:12,890 --> 00:02:15,390 nastavte vlastnost na odeslat null. 45 00:02:15,390 --> 00:02:16,900 A teď, proč by to mohlo být? 46 00:02:16,900 --> 00:02:21,380 No zpátky do zdrojového kódu zde, oznámení že na submit Myslím, že je 47 00:02:21,380 --> 00:02:25,360 vlastnost prvku, jehož jedinečný identifikátor je demo. 48 00:02:25,360 --> 00:02:27,810 Prvek, je opět jen uzel ve stromu. 49 00:02:27,810 --> 00:02:30,870 >> Takže se zdá, že můj prohlížeč není myslím, že tento prvek 50 00:02:30,870 --> 00:02:32,500 nebo uzel existuje ještě. 51 00:02:32,500 --> 00:02:33,790 A skutečně, to není. 52 00:02:33,790 --> 00:02:37,690 Připomeňme, že webová stránka je analyzován nebo číst o webovém prohlížeči, shora dolů, 53 00:02:37,690 --> 00:02:38,430 zleva doprava. 54 00:02:38,430 --> 00:02:41,810 A tak, když kód JavaScript je setkal, typicky je to popraven 55 00:02:41,810 --> 00:02:42,700 hned. 56 00:02:42,700 --> 00:02:46,460 >> Ale v tomto případě jsme se ani nedostal ještě k části dom, 57 00:02:46,460 --> 00:02:51,100 HTML, ve které formulář s jedinečným Identifikátor demo byl vyhlášen. 58 00:02:51,100 --> 00:02:54,320 A tak se snažíme vykonat my JavaScript kód před tímto uzlem i 59 00:02:54,320 --> 00:02:58,530 existuje ve stromu, který, samozřejmě, je problematické, protože pak, jistě, 60 00:02:58,530 --> 00:03:01,390 prvek sám o sobě bude mít hodnotu null v tomto okamžiku. 61 00:03:01,390 --> 00:03:02,390 >> Tak jak to opravit? 62 00:03:02,390 --> 00:03:03,810 No máme několik řešení. 63 00:03:03,810 --> 00:03:07,200 Ale zkusme nejjednodušší přemístěním můj skript tag z hlavy 64 00:03:07,200 --> 00:03:11,560 označit k mému tělu, ale konkrétně, k spodní část těla mé stránky tak, 65 00:03:11,560 --> 00:03:14,170 , že je to pouze v uzlech a otázky. 66 00:03:14,170 --> 00:03:19,930 Konkrétně, pojďme označte a snížit open tag a zavřít tag pro tento scénář 67 00:03:19,930 --> 00:03:24,720 a přemístit, že celý blok kódu na konec souboru zde. 68 00:03:24,720 --> 00:03:27,690 >> Nyní to není nezbytně nejčistší navrhnout, ale alespoň to bude 69 00:03:27,690 --> 00:03:29,530 vynutit správné pořadí operací. 70 00:03:29,530 --> 00:03:31,495 Pojďme soubor uložte a znovu ve svém prohlížeči. 71 00:03:31,495 --> 00:03:34,620 72 00:03:34,620 --> 00:03:40,240 Pojďme znovu načíst stránku, re-vstup mé jméno, a tam, Hello David je zpět. 73 00:03:40,240 --> 00:03:42,784