>> SPEAKER 1: Most, hogy a legutóbbi példa, emlékeztetni arra, hogy megszakítva néhány
JavaScript kód belsejében a HTML, Konkrétabban, belsejében az értéke
az attribútum felszólította beküldése az adott form tag.
Most a kis oldal, ez a nem olyan nagy dolog.
De mint egy weboldal egyre hosszabb és komplex, egyszerűen üzembe a
JavaScript kódot itt-ott benne értékének attribútumok nem a
legjobb design.
A legjobb, ha tényező, és legalább tedd belsejében
A script tag központilag.
>> Hogyan kell ezt csinálni?
Nos, térjünk vissza a form tag és először törölni az attribútumot és annak
érték összesen.
Aztán itt, hanem meghatározza a nevű függvényt Köszöntsétek, hadd tarts
a vonal kód, amely végül is továbbra is szeretné végrehajtani, és helyére
A Greet függvény az alábbiak szerint.
Document.get Elem ID idézet idézet vége demo -
ahol a demo, emlékszem, az egyedi azonosítót az űrlapban -
pont a be, amelyek emlékeztetnek a neve Az eseménykezelő, amelyben
mi érdekel.
És legyen hozzá, hogy a be-kezelő az érték, hogy ez valójában egy
funkció is.
>> Most már észre, hogy nem vagyok valójában hívás funkció itt.
Én inkább meghatározó egy névtelen, más néven a lambda funkció
megadásával ezek között a kapcsos zárójelek egy csomó kód kell
valóban végre kell hajtani.
Pontosabban, a kód, amit szeretnék végrehajtani, hogy a vonal volt
előtt, majd tegyük hozzá, hogy a return false, így ebben a formában nem
végül benyújtotta a végére a távoli web szerver a hagyományos módon.
>> Nézzük most menteni ezt a fájlt, nyisd ki a böngészőben, és meglátjuk, mi történik.
http://localhost/dom-1.html.
Nézzük most írja az én nevemben, David nyújt.
És semmi sem úgy tűnik, hogy történt, kivéve az URL oldalam látszik
megváltozott, mintha formában volt ténylegesen benyújtott ugyanabban a fájlban.
>> De miért lenne az?
Nos, kell még egy kis információt.
Szóval menjünk előre, és nyissa meg a Chrome Developer Tools, hogy én valóban
nézd meg a konzol ablakban, hogy ha tettem valami rosszat.
Tudom elérni, hogy keresztül egy pár módon.
Amelyek közül az egyik ebben a menüben van, majd a Tools, majd le
Developer Tools.
>> És észre itt a Konzol lapon van egy ki nem fogott típusú hiba, nem
beállított ingatlan be null.
De miért lenne az?
Nos, hát az én forráskód itt értesítés hogy a Submit szerintem
tulajdonsága az elemet, amelynek egyedi azonosítót demo.
Egy elem, ismét csak a csomópont egy fa.
>> Tehát úgy tűnik, hogy a böngészőm nem gondolom, hogy ezt az elemet
vagy csomópont létezik még.
És valóban, nem.
Emlékezzünk vissza, hogy a weboldal értelmezése vagy olvassa egy webböngésző, felülről lefelé,
balról jobbra.
És így, ha JavaScript kód találkozott, általában, ez végre
azonnal.
>> De ebben az esetben, már nem is ütött még a részét a dom, a
HTML, amelyben a formában egyedülálló azonosító demo nyilvánították.
És így próbálunk végrehajtani a JavaScript kódot, mielőtt a csomópont még
létezik a fa, amely, természetesen, problémás, mert akkor biztos,
az elem önmagában is null abban az időpontban.
>> Szóval, hogyan kell megoldani?
Nos, van egy pár megoldás.
De próbáljuk meg a legegyszerűbb áthelyezésével a script tag a fej
tag a testem, hanem kifejezetten felé alján oldalam testét, így
hogy ez alatt a csomópontok és kérdések.
Pontosabban, most jelölje ki és vágja a nyitott tag és záró tag a script
és helyezze át az egész blokk kód hogy az alján a fájl itt.
>> Most ez nem feltétlenül a legtisztább tervezni, de legalább lesz
jog érvényesítése műveletek sorrendjét.
Mentsük el a fájlt és újratölteni a böngészőben.
Nézzük újra az oldalt újra be a nevem, és ott Hello David visszatért.