>> Spreker 1: Nou in die laaste voorbeeld, onthou dat ons afgewissel sommige
JavaScript-kode binnekant van my HTML, spesifiek, binnekant van die waarde van
die kenmerk 'n beroep op Stuur vir daardie vorm tag.
Nou vir klein bladsye, hierdie is nie so 'n groot deal.
Maar as 'n webblad kry meer en meer kompleks, net om jou
JavaScript-kode hier en daar binnekant van die waarde van die eienskappe is nie die
beste ontwerp.
Beste as ons 'n faktor wat uit en ten minste het dit binne-in
die script tag sentraal.
>> Hoe om dit te doen?
Wel, laat ons teruggaan na my vorm tag en eerste van hierdie eienskap en sy vee
waardeer geheel en al.
Dan hier, eerder as om te definieer 'n funksie genoem Groet, laat hang
na die reĂ«l van die kode wat uiteindelik ons sal nog steeds wil uit te voer en te vervang
die Groet funksie soos volg.
Document.get Element By ID haal unquote demo -
waar demo, onthou, is die unieke id vir die vorm self -
dot op lĂŞ, wat onthou is die naam van die gebeurtenis hanteerder in wat
ons is geĂŻnteresseerd.
En laat ons ken wat op dien hanteerder die waarde wat is eintlik 'n
funksie self.
>> Nou sien dat ek nie eintlik roep 'n funksie hier.
Ek plaas die definisie van 'n anonieme, andersins bekend as 'n lambda-funksie,
deur die spesifiseer tussen hierdie krulhakies 'n klomp van die kode dat indien
werklik uitgevoer word.
Spesifiek, die kode wat ek wil uit te voer, is dat die lyn wat ek gehad het
voor, en dan laat ons voeg by dat die terugkeer valse sodat hierdie vorm is nie
uiteindelik voorgelĂŞ afgeleĂ« web te beĂ«indig bediener in die tradisionele manier.
>> Kom ons nou ook red van hierdie lĂŞer, maak dit in 'n leser, en kyk wat gebeur.
http://localhost/dom-1.html.
Kom ons tik nou in my naam, David, Stuur.
En niks blyk te gebeur behalwe die URL van my bladsy lyk
verander het asof die vorm was eintlik aan die dieselfde lĂŞer.
>> Nou hoekom sou dit wees?
Wel, ek moet 'n paar meer inligting.
So laat ons gaan voort en oop Chrome se Ontwikkelaar gereedskap sodat ek kan eintlik
kyk na die konsole venster te sien As ek iets verkeerd gedoen het nie.
Ek kan toegang wat via 'n paar van die maniere.
Een van wat via die spyskaart hier, dan onder Tools, dan af te
Ontwikkelaar gereedskap.
>> En sien hier in die blad Console, daar is 'n uncaught tipe fout, kan nie
stel eiendom op dien van nul.
Nou hoekom sou dit wees?
Wel terug in my bron-kode hier, kennisgewing wat op lĂŞ ek dink is 'n
eiendom van die element se unieke identifikasie is demo.
'N element, weer, is net 'n knoop in 'n boom.
>> So blyk dit dat my browser nie dink dat daardie element
of node bestaan â€‹â€‹nie.
En inderdaad, dit nie doen nie.
Onthou dat 'n webblad is geparseerd of lees deur 'n webblaaier, bo na onder,
links na regs.
En so wanneer JavaScript-kode is ondervind, tipies, is dit uitgevoer
dadelik.
>> Maar in hierdie geval, ons het nog nie eens gekry nog aan die deel van die Dom, die
HTML, waarin die vorm van 'n unieke identifikasie demo verklaar is.
En so het ons probeer om uit te voer my JavaScript-kode voor daardie knoop selfs
bestaan â€‹â€‹in die boom wat, natuurlik, is problematies, want dan, dit is sekerlik
die element self sal van nul op daardie tydstip.
>> So hoe op te los?
Wel, ons het 'n paar van die oplossings.
Maar laat ons probeer om die eenvoudigste deur die verskuiwing my scripttag van die hoof
merk aan my liggaam nie, maar spesifiek na die onderkant van my bladsy se liggaam so
dat dit onder die knope en vrae.
Spesifiek, laat lig en sny die oop tag en naby tag vir script
en hervestig dat die hele blok van die kode aan die onderkant van die lĂŞer hier.
>> Nou is dit nie noodwendig die skoonste ontwerp, maar ten minste sal dit
dwing die regte volgorde van bedrywighede.
Kom ons stoor die lĂŞer en herlaai in my leser.
Kom ons herlaai die bladsy, weer insette my naam, en daar, Hello Dawid is terug.