>> 揚聲器1：現在在這最後一個例子， 記得，我們​​穿插了一些
JavaScript代碼我的HTML裡面， 具體而言，裡面的價值
要求提交的屬性 對於表單標籤。
現在的小頁面，這 不是什麼大不了的。
但作為一個網頁變得更長，更 複雜的，簡單地把你的
JavaScript代碼在這裡和那裡裡面 的屬性的值是不
最好的設計。
最好的，如果我們的因素，並出 至少把它的內部
script標籤集中。
>> 如何做到這一點？
好吧，讓我們回到我的表單標籤和 先刪除這個屬性和它
重視完全。
然後在這裡，而不是限定 函數調用打招呼，讓我們掛在
到的代碼行，最終我們 仍然要執行和替換
在迎接功能如下。
Document.get元素通過ID 引用引文演示 -
在那裡演示，召回，是獨一無二的 標識符形式本身 -
點上提交，這是召回的名字 事件處理程序，其中
我們感興趣。
而且我們指派的提交處理程序 值這實際上是一個
函數本身。
>> 現在請注意，我不是真正 這裡調用一個函數。
我不是定義一個匿名的， 否則稱為lambda函數，
這些大括號之間指定 一串代碼，應該
其實是可以執行的。
特別是，我想代碼 執行是行，我有
前，然後讓我們添加到 返回false，因此，這種形式是不
最終提交到結束遠程Web 在傳統方式的服務器。
>> 現在讓我們保存這個文件，打開它 在瀏覽器中，並看看會發生什麼。
http://localhost/dom-1.html。
現在，讓我們輸入我的名字， 大衛提交。
並沒有什麼似乎已經發生了 除了我的網頁的URL似乎
已經改變，就好像形式是 實際提交到同一個文件。
>> 現在為什麼會這樣呢？
嗯，我需要一些更多的信息。
因此，讓我們去進取，不斷開拓Chrome的 開發者工具，這樣我實際上可以
看在控制台窗口中看到 如果我做錯了什麼事。
我可以訪問通過 一對夫婦的方式。
其中之一就是通過這個菜單在這裡， 然後在工具，然後下降到
開發者工具。
>> 並注意在這裡的控制台選項卡， 有一個未捕獲的錯誤類型，不能
在提交空的設置屬性。
現在為什麼會這樣呢？
以及早在我的源代碼在這裡，通知 上提交，我認為是一個
其元素的屬性 唯一標識符是演示。
一個元件，同樣，僅僅是 在樹中的節點。
>> 這樣看來，我的瀏覽器不 認為該元素
或節點存在呢。
而事實上，它沒有。
回想一下，一個網頁被解析或讀 通過一個網絡瀏覽器，從上到下，
左到右。
所以當JavaScript代碼是 遇到的，典型地，它的執行
的時候了。
>> 但在這種情況下，我們甚至還沒有得到 但對DOM的一部分，
HTML中，在該表格具有獨特的 標識符演示已被宣布。
因此，我們正在努力執行我的 該節點之前的JavaScript代碼甚至
存在於樹的，當然，是 有問題的，因為那麼可以肯定，
元素本身將是空的 在該時間點。
>> 因此，如何解決？
那麼，我們有幾個解決方案。
但是，讓我們通過重新嘗試最簡單的 從我的頭上腳本標籤
標記為我的身體，但具體而言，對 我的網頁的本體的底部，以便
它的節點下方 和問題。
具體地講，讓我們突出和切 開放的標記和腳本結束標記
和重新定位的代碼，整幢 這裡的文件的底部。
>> 現在這不一定是最乾淨的 設計的，但至少它會
執行操作的正確順序。
讓我們保存文件， 重新在我的瀏覽器。
讓我們刷新頁面，重新輸入我的名字， 還有，您好大衛又回來了。