>> GŁOŚNIK 1: Teraz w tym ostatnim przykładzie, Przypomnijmy, że przeplatają się niektóre
Kod JavaScript wewnątrz mojego kodu HTML, W szczególności, wewnątrz wartości
atrybut o nazwie Na Prześlij dla tego tagu formularza.
Teraz dla małych stron, w tym nie jest taka wielka sprawa.
Ale jak już strona internetowa staje się bardziej skomplikowane, po prostu oddanie
Kod JavaScript tu i tam w środku wartości atrybutów nie jest
najlepszy projekt.
Najlepiej jeśli czynnikiem, który na zewnątrz i przynajmniej umieścić go wewnątrz
tag centralnie skrypt.
>> Jak to zrobić?
Dobrze wróćmy do mojego tagu formularza i najpierw usunąć ten atrybut i jego
cenią w ogóle.
Potem się tutaj, a nie określają Funkcja o nazwie Greet, niech wiszą na
do linii kodu, który ostatecznie mamy będzie nadal chcesz wykonać i wymienić
Funkcja następująco Greet.
Document.get elementu przez ID cytatu demo -
gdzie demo, przypomnijmy, jest wyjątkowa identyfikator dla samej postaci -
kropka na przedstawienia, które przypominają to nazwa procedury obsługi zdarzenia, w których
jesteśmy zainteresowani.
I niech to przypisać, że w dniu przedstawienia obsługi wartość, która jest w rzeczywistości
działać sam.
>> Zauważcie, że nie jestem w rzeczywistości wywołanie funkcji tutaj.
Ja zamiast definiowania anonimowy, inaczej znany jako funkcji lambda
określając między tymi klamrach Pęczek kodu, który powinien
faktycznie wykonywany.
W szczególności, kod chciałbym do wykonania jest to, że wiersz, który miałem
przed, a następnie dodajmy do tego return false, tak, że ta forma nie jest
ostatecznie przedłożone do końca Remote Web Serwer w tradycyjny sposób.
>> Załóżmy teraz zapisać ten plik, otwórz go w przeglądarce, i zobaczyć co się dzieje.
http://localhost/dom-1.html.
Załóżmy teraz wpisać moje imię, David, Zatwierdź.
I nic się nie stało wyjątkiem URL mojej strony wydaje się
zmieniły się tak, jakby forma była faktycznie złożone do tego samego pliku.
>> Teraz, dlaczego może to być?
Cóż potrzebuję trochę więcej informacji.
Więc śmiało i otwarcie Chrome Developer Tools, aby można było właściwie
spojrzeć na okna konsoli, aby zobaczyć jeśli zrobiłem coś złego.
Można uzyskać dostęp, które poprzez kilka sposobów.
Jednym z nich jest za pośrednictwem tego menu tutaj następnie w menu Narzędzia, a następnie w dół do
Developer Tools.
>> I zauważyć tutaj w zakładce Console, nieprzechwycony jest błąd typu, nie może
ustawić właściwość na przedstawienia z null.
Teraz, dlaczego może to być?
Dobrze w moim kodu źródłowego tutaj, informacja że na submit myślę jest
Właściwość elementu, którego unikalny identyfikator jest demo.
Element znowu tylko węzeł w drzewie.
>> Tak więc wydaje się, że moja przeglądarka nie że ten element
lub węzeł jeszcze istnieje.
I rzeczywiście, nie.
Przypomnijmy, że strona internetowa jest analizowany lub przeczytać przez przeglądarkę internetową, z góry do dołu,
od lewej do prawej.
I tak, gdy kod JavaScript jest spotkałem, zazwyczaj jest to wykonywane
od razu.
>> Ale w tym przypadku nawet nie dostał Jeszcze do części dom,
HTML, w którym postać z unikalnym demo identyfikator został ogłoszony.
I tak staramy się wykonywać moje Kod JavaScript przed tym węźle, nawet
istnieje w drzewie, które, oczywiście, problematyczne, ponieważ wtedy na pewno,
sam element będzie null w tym momencie.
>> Tak, jak to naprawić?
Cóż mamy kilka rozwiązań.
Ale spróbujmy najprostszych poprzez przeniesienie mój tag skrypt z głowy
tag z moim ciałem, ale konkretnie, w kierunku Spód ciała jest więc moja strona
że jest to poniżej węzłów i pytania.
W szczególności, niech podświetlić i cięcia otwarty i blisko tag tag script
i przenieść ten cały blok kodu na dole pliku tutaj.
>> Teraz nie jest to konieczne do najczystszych projektowania, ale przynajmniej będzie
egzekwować właściwą kolejność operacji.
Załóżmy, zapisać plik i przeładować w przeglądarce.
Chodźmy odświeżyć stronę, ponownie wejście nazywam, i tam, Witaj David powraca.