>> Gjuha 1: Tani në këtë shembull të fundit, kujtojnë se ne interspersed disa
JavaScript kodin brenda HTML tim, në mënyrë të veçantë, brenda të vlerës së
atribut i quajtur On Submit për atë formë tag.
Tani për faqet e vogla, kjo nuk është një punë e madhe.
Por si një faqe web merr më të gjatë dhe më të kompleks, thjesht vënë tuaj
JavaScript kodin këtu dhe atje brenda e vlera të cilësive nuk është
dizajn më të mirë.
Më të mirë në qoftë se ne faktor që jashtë dhe të paktën vënë atë në brendësi të
tag script nga qendra.
>> Si për të bërë këtë?
E pra le të kthehet në formë tag tim dhe parë fshini këtë atribut dhe e saj
vlerë krejt.
Pastaj deri këtu, në vend se të përcaktojë një funksion të quajtur fala, le të varet në
në përputhje të kodit që në fund të fundit ne ende do të duan për të ekzekutuar dhe të zëvendësojë
funksion të fala si më poshtë.
Document.get Element Duke ID japin kuotën e tyre demo siç janë quajtur -
ku demo, kujtojnë, është unik Identifikuesi për formën vetë -
dot më paraqesin, të cilat të kujtojnë është emri e mbajtësit të ngjarjes në të cilën
ne jemi të interesuar.
Dhe le të caktojë që të paraqesë mbajtës vlera kjo është në fakt një
funksionojnë vetë.
>> Tani vini re se unë nuk jam në të vërtetë duke e quajtur një funksion këtu.
Unë jam në vend të përcaktimit të një anonim, i njohur ndryshe si një funksion lambda,
duke specifikuar midis këtyre formatimin e teksteve kaçurrel një bandë e kodit që duhet
në të vërtetë të ekzekutohet.
Në mënyrë të veçantë, kodin që unë do të doja për të ekzekutuar është se linja që kam pasur
para, dhe pastaj le të shtoni në atë kthimit të rreme në mënyrë që kjo formë nuk është e
dorëzuar në fund të fundit për t'i dhënë fund largët web server në mënyrë tradicionale.
>> Le tani ruani këtë file, hapur atë në një shfletues, dhe shikoni se çfarë ndodh.
http://localhost/dom-1.html.
Le tani shkruani emrin tim, David, Submit.
Dhe asgjë nuk duket të ketë ndodhur përveç URL e faqen time duket të
kanë ndryshuar sikur forma ishte në të vërtetë dorëzohet në të njëjtën dosje.
>> Tani pse mund që të jetë?
E pra kam nevojë për më shumë informacion.
Pra, le të shkojë përpara dhe të hapur Chrome-së Mjete Zhvilluesi kështu që unë mund të vërtetë
shikoni në dritare për të parë konsol nëse unë kam bërë diçka të gabuar.
Unë mund të hyni në atë nëpërmjet disa mënyra.
Një prej të cilave është me anë të kësaj meny këtu, pastaj nën Tools, pastaj poshtë për të
Mjete Zhvilluesi.
>> Dhe vini re këtu në skedën Console, ka një gabim uncaught lloji, nuk mund të
vënë pasurinë më të paraqesë null.
Tani pse mund që të jetë?
E pra përsëri në kodin tim burim këtu, njoftimi që më submit unë mendoj se është një
pronë e elementit të cilit Identifikuesi unik është demo.
Një element, përsëri, është vetëm një nyje në një pemë.
>> Pra, duket se shfletuesi im nuk ka mendoj se se elementi
ose nyje ekziston ende.
Dhe në të vërtetë, kjo nuk ka.
Kujtojnë se një faqe web është parsed ose lexuar nga një shfletues web, të lartë e deri në fund,
majta në të djathtë.
Dhe kështu, kur kodi JavaScript është hasur, në mënyrë tipike, kjo është ekzekutuar
menjëherë.
>> Por në këtë rast, ne nuk kemi marrë edhe ende në pjesën e dom,
HTML, në të cilin që me një formë unike demo identifikues është shpallur.
Dhe kështu që ne jemi duke u përpjekur për të ekzekutuar tim JavaScript code para kësaj nyje edhe
ekziston në pemës që, natyrisht, është problematike sepse atëherë, me siguri,
elementi vetë do të jetë null në atë moment në kohë.
>> Pra, si për të rregulluar?
E pra ne kemi disa zgjidhje.
Por le të përpiqemi më të thjeshtë duke zhvendosur tag im script nga kreu
tag për trupin tim, por në mënyrë të veçantë, në drejtim të poshtme e trupit faqes sime në mënyrë
se është nën nyjet dhe pyetje.
Në mënyrë të veçantë, le të nxjerrë në pah dhe të prerë tag hapur dhe tag të ngushtë për shkrimin
dhe zhvendosin se tërë bllok i kodit në pjesën e poshtme e lëndës këtu.
>> Tani kjo nuk është domosdoshmërisht më i pastri të projektimit, por të paktën ajo do
zbatuar urdhrin e duhur të operacioneve.
Le të ruajtur kartelën dhe ringarkoni në shfletuesin tim.
Le të rifreskoni faqen, ri-input emri im, dhe aty, Përshëndetje David është kthyer.