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.