Tagapagsalita 1: Ngayon sa na huling halimbawa, isipin na interspersed namin ang ilang Code ng JavaScript sa loob ng aking HTML, partikular, sa loob ng ang halaga ng ang katangiang tinatawag Sa Isumite para na form ng tag. Ngayon para sa maliliit na mga pahina, ito Hindi tulad ng isang malaking pakikitungo. Ngunit bilang ay makakakuha ng isang web page na at higit pa complex, simpleng paglalagay ng iyong Code ng JavaScript dito at doon sa loob ng ang halaga ng katangian ay hindi ang pinakamahusay na disenyo. Pinakamahusay na kung nagiging kadahilanan namin na out at hindi bababa sa ilagay ito sa loob ng ang tag gitnang kinalalagyan ang script. Paano gawin ito? Ng bumalik sa aking form tag Well hayaan at munang tanggalin ito katangian at nito Pinahahalagahan ng sama-sama. Pagkatapos up dito, sa halip na tukuyin ang isang function na tinatawag na bumati, ni-hang sa ipaalam sa linya ng code na ganap na namin ay gusto pa rin upang maisagawa at palitan ang batiin function na tulad ng sumusunod. Document.get Element Sa pamamagitan ng ID Quote magpanipi demo - kung saan demo, pagpapabalik, ay ang natatanging identifier para sa mismong form na - tuldok sa isumite, na isipin ay ang pangalan ng handler ng kaganapan kung saan Ikinalulungkot namin interesado. At ni magtalaga na sa isumite ang handler ipaalam ang halaga na talagang isang gumana mismo. Mapansin Ngayon na hindi ako talaga pagtawag sa isang function dito. Sa halip ako ng pagtukoy sa isang hindi nakikilalang, kung hindi man ay kilala bilang isang lambda function, sa pamamagitan ng pagtukoy sa pagitan ng mga kulot tirante ng grupo ng mga code na dapat talaga ay pinaandar. Sa partikular, ang code na gusto ko upang isakatuparan ay na linya na ako nagkaroon bago, at pagkatapos ay sabihin idagdag sa na bumalik hindi totoo kaya na ang form na ito ay hindi sa huli na isinumite sa magtapos ang remote web server sa tradisyunal na paraan. Hayaan ang i-save ni ngayon ang file na ito, buksan up ito sa isang browser, at tingnan kung ano ang mangyayari. http://localhost/dom-1.html. Ngayon nagta-type sa aking pangalan Hayaan, David, ang Isumite. At wala Lumilitaw na nangyari maliban sa ang URL ng aking mga pahina ay anyong Nagbago na parang ang form na noon ay talaga isinumite sa parehong file. Ngayon kung bakit maaaring maging iyon? Well Kailangan ko ng ilang karagdagang impormasyon. Kaya sabihin sige at buksan up ang Chrome ng Mga Tool ng Nag-develop nang sa gayon ay maaari ko talaga tingnan ang console window upang makita kung nagawa ko ang isang bagay na mali. Maaari ko bang ma-access na sa pamamagitan ng ilang mga paraan. Isa sa kung saan ay sa pamamagitan ng menu na ito dito, pagkatapos ay sa ilalim ng Tools, pagkatapos ay i-down sa Mga Tool ng Nag-develop. At mapansin dito sa tab na Mga Console, mayroong isang uncaught uri ng error, hindi maaari itakda ang ari-arian sa magsumite ng null. Ngayon kung bakit maaaring maging iyon? Well pabalik sa aking source code dito, abiso na sa Isumite ang tingin ko ay isang ari-arian ng mga elemento na kung saan ang natatanging identifier ay demo. Ang isang elemento, muli, ay lamang isang node sa isang tree. Kaya lumilitaw na ang aking browser ay hindi palagay na elemento na o umiiral pa na node. At sa katunayan, ito ay hindi. Isipin na ang isang web page ay parse o basahin sa pamamagitan ng isang web browser, itaas hanggang sa ibaba, kaliwa papuntang kanan. At kaya kapag JavaScript code ay Nakaranas, karaniwang, ito ay pinaandar agad-agad. Ngunit sa kasong ito, kami ay hindi kahit na nakuha pa sa bahagi ng DOM, ang HTML, sa kung aling form na may isang natatanging identifier demo ay ipinahayag. At kaya sinusubukan naming isakatuparan ang aking Code ng JavaScript bago na node kahit na Umiiral na sa tree kung saan, siyempre, ay may problema dahil pagkatapos, tiyak, ang mismong elemento ay magiging walang bisa sa na punto ng oras. Kaya kung paano aayusin? Well mayroon kami ng ilang mga solusyon. Ngunit subukan na ang pinakasimpleng sa pamamagitan ng relocating ipaalam ang aking mga script tag mula sa ulo i-tag sa aking katawan, ngunit partikular, patungo sa sa ibaba ng body ng aking pahina kaya na ito sa ibaba ang mga node at katanungan. Sa partikular, ni-highlight ipaalam at i-cut ang bukas na tag at malapit na tag para sa script at magpalipat na buong kalipunan ng code sa ibaba ng file dito. Ngayon ito ay hindi nangangahulugang ang cleanest magdisenyo, ngunit hindi bababa sa habilin ito ipatupad ang tamang pagkakasunud-sunod ng mga operasyon. Hayaan ang i-save ng mga file at i-reload sa aking browser. I-reload ang pahina Hayaan, muling i-input ang aking pangalan, at doon, Kamusta David ay bumalik.