1 00:00:00,000 --> 00:00:00,380 2 00:00:00,380 --> 00:00:03,000 >> Tagapagsalita 1: Ngayon sa na huling halimbawa, isipin na interspersed namin ang ilang 3 00:00:03,000 --> 00:00:07,170 Code ng JavaScript sa loob ng aking HTML, partikular, sa loob ng ang halaga ng 4 00:00:07,170 --> 00:00:10,460 ang katangiang tinatawag Sa Isumite para na form ng tag. 5 00:00:10,460 --> 00:00:12,850 Ngayon para sa maliliit na mga pahina, ito Hindi tulad ng isang malaking pakikitungo. 6 00:00:12,850 --> 00:00:15,950 Ngunit bilang ay makakakuha ng isang web page na at higit pa complex, simpleng paglalagay ng iyong 7 00:00:15,950 --> 00:00:19,660 Code ng JavaScript dito at doon sa loob ng ang halaga ng katangian ay hindi ang 8 00:00:19,660 --> 00:00:20,830 pinakamahusay na disenyo. 9 00:00:20,830 --> 00:00:23,440 Pinakamahusay na kung nagiging kadahilanan namin na out at hindi bababa sa ilagay ito sa loob ng 10 00:00:23,440 --> 00:00:25,200 ang tag gitnang kinalalagyan ang script. 11 00:00:25,200 --> 00:00:26,080 >> Paano gawin ito? 12 00:00:26,080 --> 00:00:30,040 Ng bumalik sa aking form tag Well hayaan at munang tanggalin ito katangian at nito 13 00:00:30,040 --> 00:00:31,780 Pinahahalagahan ng sama-sama. 14 00:00:31,780 --> 00:00:35,730 Pagkatapos up dito, sa halip na tukuyin ang isang function na tinatawag na bumati, ni-hang sa ipaalam 15 00:00:35,730 --> 00:00:39,405 sa linya ng code na ganap na namin ay gusto pa rin upang maisagawa at palitan 16 00:00:39,405 --> 00:00:41,560 ang batiin function na tulad ng sumusunod. 17 00:00:41,560 --> 00:00:48,190 Document.get Element Sa pamamagitan ng ID Quote magpanipi demo - 18 00:00:48,190 --> 00:00:52,410 kung saan demo, pagpapabalik, ay ang natatanging identifier para sa mismong form na - 19 00:00:52,410 --> 00:00:56,600 tuldok sa isumite, na isipin ay ang pangalan ng handler ng kaganapan kung saan 20 00:00:56,600 --> 00:00:57,710 Ikinalulungkot namin interesado. 21 00:00:57,710 --> 00:01:01,990 At ni magtalaga na sa isumite ang handler ipaalam ang halaga na talagang isang 22 00:01:01,990 --> 00:01:03,740 gumana mismo. 23 00:01:03,740 --> 00:01:06,390 >> Mapansin Ngayon na hindi ako talaga pagtawag sa isang function dito. 24 00:01:06,390 --> 00:01:10,650 Sa halip ako ng pagtukoy sa isang hindi nakikilalang, kung hindi man ay kilala bilang isang lambda function, 25 00:01:10,650 --> 00:01:14,100 sa pamamagitan ng pagtukoy sa pagitan ng mga kulot tirante ng grupo ng mga code na dapat 26 00:01:14,100 --> 00:01:15,490 talaga ay pinaandar. 27 00:01:15,490 --> 00:01:18,500 Sa partikular, ang code na gusto ko upang isakatuparan ay na linya na ako nagkaroon 28 00:01:18,500 --> 00:01:23,370 bago, at pagkatapos ay sabihin idagdag sa na bumalik hindi totoo kaya na ang form na ito ay hindi 29 00:01:23,370 --> 00:01:26,950 sa huli na isinumite sa magtapos ang remote web server sa tradisyunal na paraan. 30 00:01:26,950 --> 00:01:30,345 >> Hayaan ang i-save ni ngayon ang file na ito, buksan up ito sa isang browser, at tingnan kung ano ang mangyayari. 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 Ngayon nagta-type sa aking pangalan Hayaan, David, ang Isumite. 34 00:01:43,060 --> 00:01:46,900 At wala Lumilitaw na nangyari maliban sa ang URL ng aking mga pahina ay anyong 35 00:01:46,900 --> 00:01:52,580 Nagbago na parang ang form na noon ay talaga isinumite sa parehong file. 36 00:01:52,580 --> 00:01:53,870 >> Ngayon kung bakit maaaring maging iyon? 37 00:01:53,870 --> 00:01:55,340 Well Kailangan ko ng ilang karagdagang impormasyon. 38 00:01:55,340 --> 00:01:58,700 Kaya sabihin sige at buksan up ang Chrome ng Mga Tool ng Nag-develop nang sa gayon ay maaari ko talaga 39 00:01:58,700 --> 00:02:01,440 tingnan ang console window upang makita kung nagawa ko ang isang bagay na mali. 40 00:02:01,440 --> 00:02:03,330 Maaari ko bang ma-access na sa pamamagitan ng ilang mga paraan. 41 00:02:03,330 --> 00:02:07,250 Isa sa kung saan ay sa pamamagitan ng menu na ito dito, pagkatapos ay sa ilalim ng Tools, pagkatapos ay i-down sa 42 00:02:07,250 --> 00:02:08,509 Mga Tool ng Nag-develop. 43 00:02:08,509 --> 00:02:12,890 >> At mapansin dito sa tab na Mga Console, mayroong isang uncaught uri ng error, hindi maaari 44 00:02:12,890 --> 00:02:15,390 itakda ang ari-arian sa magsumite ng null. 45 00:02:15,390 --> 00:02:16,900 Ngayon kung bakit maaaring maging iyon? 46 00:02:16,900 --> 00:02:21,380 Well pabalik sa aking source code dito, abiso na sa Isumite ang tingin ko ay isang 47 00:02:21,380 --> 00:02:25,360 ari-arian ng mga elemento na kung saan ang natatanging identifier ay demo. 48 00:02:25,360 --> 00:02:27,810 Ang isang elemento, muli, ay lamang isang node sa isang tree. 49 00:02:27,810 --> 00:02:30,870 >> Kaya lumilitaw na ang aking browser ay hindi palagay na elemento na 50 00:02:30,870 --> 00:02:32,500 o umiiral pa na node. 51 00:02:32,500 --> 00:02:33,790 At sa katunayan, ito ay hindi. 52 00:02:33,790 --> 00:02:37,690 Isipin na ang isang web page ay parse o basahin sa pamamagitan ng isang web browser, itaas hanggang sa ibaba, 53 00:02:37,690 --> 00:02:38,430 kaliwa papuntang kanan. 54 00:02:38,430 --> 00:02:41,810 At kaya kapag JavaScript code ay Nakaranas, karaniwang, ito ay pinaandar 55 00:02:41,810 --> 00:02:42,700 agad-agad. 56 00:02:42,700 --> 00:02:46,460 >> Ngunit sa kasong ito, kami ay hindi kahit na nakuha pa sa bahagi ng DOM, ang 57 00:02:46,460 --> 00:02:51,100 HTML, sa kung aling form na may isang natatanging identifier demo ay ipinahayag. 58 00:02:51,100 --> 00:02:54,320 At kaya sinusubukan naming isakatuparan ang aking Code ng JavaScript bago na node kahit na 59 00:02:54,320 --> 00:02:58,530 Umiiral na sa tree kung saan, siyempre, ay may problema dahil pagkatapos, tiyak, 60 00:02:58,530 --> 00:03:01,390 ang mismong elemento ay magiging walang bisa sa na punto ng oras. 61 00:03:01,390 --> 00:03:02,390 >> Kaya kung paano aayusin? 62 00:03:02,390 --> 00:03:03,810 Well mayroon kami ng ilang mga solusyon. 63 00:03:03,810 --> 00:03:07,200 Ngunit subukan na ang pinakasimpleng sa pamamagitan ng relocating ipaalam ang aking mga script tag mula sa ulo 64 00:03:07,200 --> 00:03:11,560 i-tag sa aking katawan, ngunit partikular, patungo sa sa ibaba ng body ng aking pahina kaya 65 00:03:11,560 --> 00:03:14,170 na ito sa ibaba ang mga node at katanungan. 66 00:03:14,170 --> 00:03:19,930 Sa partikular, ni-highlight ipaalam at i-cut ang bukas na tag at malapit na tag para sa script 67 00:03:19,930 --> 00:03:24,720 at magpalipat na buong kalipunan ng code sa ibaba ng file dito. 68 00:03:24,720 --> 00:03:27,690 >> Ngayon ito ay hindi nangangahulugang ang cleanest magdisenyo, ngunit hindi bababa sa habilin ito 69 00:03:27,690 --> 00:03:29,530 ipatupad ang tamang pagkakasunud-sunod ng mga operasyon. 70 00:03:29,530 --> 00:03:31,495 Hayaan ang i-save ng mga file at i-reload sa aking browser. 71 00:03:31,495 --> 00:03:34,620 72 00:03:34,620 --> 00:03:40,240 I-reload ang pahina Hayaan, muling i-input ang aking pangalan, at doon, Kamusta David ay bumalik. 73 00:03:40,240 --> 00:03:42,784