1 00:00:00,000 --> 00:00:00,380 2 00:00:00,380 --> 00:00:03,000 >> ЗВУЧНИК 1: Сега во тој последен пример, потсетиме дека ние прошарани некои 3 00:00:03,000 --> 00:00:07,170 JavaScript код во внатрешноста на мојот HTML, конкретно, во внатрешноста на вредноста на 4 00:00:07,170 --> 00:00:10,460 атрибутот повика Прати за таа форма таг. 5 00:00:10,460 --> 00:00:12,850 Сега за мали страници, ова не е толку голема работа. 6 00:00:12,850 --> 00:00:15,950 Но, како веб страница добива повеќе и повеќе комплекс, едноставно поставување на вашиот 7 00:00:15,950 --> 00:00:19,660 JavaScript код тука и таму внатре на вредноста на својства не е 8 00:00:19,660 --> 00:00:20,830 најдобар дизајн. 9 00:00:20,830 --> 00:00:23,440 Најдобро ако ние фактор што излезе и барем да го стави во внатрешноста на 10 00:00:23,440 --> 00:00:25,200 сценариото таг средината. 11 00:00:25,200 --> 00:00:26,080 >> Како да го направите ова? 12 00:00:26,080 --> 00:00:30,040 Добро, ајде да се врати на мојата форма таг и Првиот избришете овој атрибут и нејзините 13 00:00:30,040 --> 00:00:31,780 вредност заедно. 14 00:00:31,780 --> 00:00:35,730 Потоа тука, наместо да се дефинира функција наречена Поздравете, ајде да се откажам од 15 00:00:35,730 --> 00:00:39,405 на линија на кодот кој на крајот ние се уште ќе сакате да се изврши и да ја замени 16 00:00:39,405 --> 00:00:41,560 на Поздравете функција како што следува. 17 00:00:41,560 --> 00:00:48,190 Document.get елемент со проект цитирам unquote демо - 18 00:00:48,190 --> 00:00:52,410 каде демо, да се потсетиме, е уникатен идентификатор за формата себе - 19 00:00:52,410 --> 00:00:56,600 точка на поднесете, кој се потсетиме е името на ракувачот со настани на кои 20 00:00:56,600 --> 00:00:57,710 ние сме заинтересирани. 21 00:00:57,710 --> 00:01:01,990 И ајде да доделите дека на управувачот поднесе вредноста што е всушност 22 00:01:01,990 --> 00:01:03,740 себе функционираат. 23 00:01:03,740 --> 00:01:06,390 >> Сега се забележи дека не сум всушност повикувајќи функција овде. 24 00:01:06,390 --> 00:01:10,650 Јас сум наместо дефинирање анонимен, инаку позната како ламбда функција, 25 00:01:10,650 --> 00:01:14,100 со впишување помеѓу овие големи загради еден куп на код кој треба да 26 00:01:14,100 --> 00:01:15,490 всушност да биде погубен. 27 00:01:15,490 --> 00:01:18,500 Поточно, на кодот кој би сакал да се изврши е дека линијата што ја имав 28 00:01:18,500 --> 00:01:23,370 пред, а потоа нека го додадеме дека враќање false, така што оваа форма не е 29 00:01:23,370 --> 00:01:26,950 на крајот доставен до крајот на далечинскиот управувач веб сервер во традиционален начин. 30 00:01:26,950 --> 00:01:30,345 >> Ајде сега да се спаси оваа датотека, отворете го во прелистувачот, и да видиме што се случува. 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 Ајде сега напишеш во мое име, Давид, Submit. 34 00:01:43,060 --> 00:01:46,900 И ништо не чини да се случи освен рачно мојата страница се чини дека 35 00:01:46,900 --> 00:01:52,580 се менуваат како иако форма е всушност доставува до иста датотека. 36 00:01:52,580 --> 00:01:53,870 >> Сега, зошто тоа може да биде? 37 00:01:53,870 --> 00:01:55,340 Па, јас треба малку повеќе информации. 38 00:01:55,340 --> 00:01:58,700 Па ајде да одиме напред и да се отвори Хром Алатки за програмери, така што можам да всушност 39 00:01:58,700 --> 00:02:01,440 се погледне на конзола прозорецот за да ја видите ако јас го направив нешто погрешно. 40 00:02:01,440 --> 00:02:03,330 Можам да пристапите дека преку неколку начини. 41 00:02:03,330 --> 00:02:07,250 Од кои една е преку ова мени овде, потоа под Tools, потоа надолу за да 42 00:02:07,250 --> 00:02:08,509 Алатки за програмери. 43 00:02:08,509 --> 00:02:12,890 >> И ќе забележите тука во јазичето Конзола, таму е Uncaught тип грешка, не може 44 00:02:12,890 --> 00:02:15,390 постави сопственост на поднесува од нула. 45 00:02:15,390 --> 00:02:16,900 Сега, зошто тоа може да биде? 46 00:02:16,900 --> 00:02:21,380 И назад во мојот изворниот код овде известување дека на поднесат мислам дека е 47 00:02:21,380 --> 00:02:25,360 сопственост на елементот чие единствен идентификатор е демо. 48 00:02:25,360 --> 00:02:27,810 Елемент, пак, е само јазол во дрво. 49 00:02:27,810 --> 00:02:30,870 >> Па се чини дека мојот пребарувач не мислам дека тој елемент 50 00:02:30,870 --> 00:02:32,500 или јазол постои уште. 51 00:02:32,500 --> 00:02:33,790 И навистина, тоа не го прави. 52 00:02:33,790 --> 00:02:37,690 Потсетиме дека на веб-страница е разложени или да прочитате од страна на веб прелистувачот, од врвот до дното, 53 00:02:37,690 --> 00:02:38,430 лево кон десно. 54 00:02:38,430 --> 00:02:41,810 И така, кога JavaScript код е се среќава, обично, тоа е погубен 55 00:02:41,810 --> 00:02:42,700 веднаш. 56 00:02:42,700 --> 00:02:46,460 >> Но, во овој случај, имаме дури и не добиле уште на делот на ДОМ, на 57 00:02:46,460 --> 00:02:51,100 HTML, во која таа форма со уникатен идентификатор демо е декларирана. 58 00:02:51,100 --> 00:02:54,320 И така ние се обидуваме да се изврши мојата JavaScript код пред тој јазол дури и 59 00:02:54,320 --> 00:02:58,530 постои во дрво кое, се разбира, е проблематична, бидејќи тогаш сигурно, 60 00:02:58,530 --> 00:03:01,390 самиот елемент ќе бидат ништовни во тој момент во времето. 61 00:03:01,390 --> 00:03:02,390 >> Па, како да се поправи? 62 00:03:02,390 --> 00:03:03,810 Па ние имаме неколку решенија. 63 00:03:03,810 --> 00:03:07,200 Но, ајде да се обидеме наједноставниот преку алокација на мојата скрипта таг од главата 64 00:03:07,200 --> 00:03:11,560 ознака на моето тело, но конкретно, кон на дното на тело мојата страница, така 65 00:03:11,560 --> 00:03:14,170 дека тоа е под јазли и прашања. 66 00:03:14,170 --> 00:03:19,930 Поточно, да се потенцира и намалување на отворен таг и тагот за затворање на сценариото 67 00:03:19,930 --> 00:03:24,720 се преселат дека целиот блок од кодот на дното на датотеката тука. 68 00:03:24,720 --> 00:03:27,690 >> Сега тоа не е нужно најчистите дизајнира, но барем тоа ќе 69 00:03:27,690 --> 00:03:29,530 спроведе правилен редослед на операциите. 70 00:03:29,530 --> 00:03:31,495 Ајде да ја зачувам датотеката и Вчитај ја страната повторно во мојот интернет пребарувач. 71 00:03:31,495 --> 00:03:34,620 72 00:03:34,620 --> 00:03:40,240 Ајде да ја превчитате страница, повторно внесување моето име, и таму, Здраво Давид е назад. 73 00:03:40,240 --> 00:03:42,784