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.