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 私のHTMLの内側のJavaScriptコード、 具体的には、値の内部 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 さてそれでは、私のformタグに戻るまで放置し、 最初にこの属性を削除し、その 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要素によってID 引用終わりデモを引用 - 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 最終的にはリモートWebを終了するために提出した 伝統的な方法でサーバ。 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 それでは私の名前を入力してみましょう、 ダビデは、提出してください。 34 00:01:43,060 --> 00:01:46,900 そして、何が起こっているように見えません 私のページのURLには思わ除く 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 それでは、先に行くと、Chromeのを開いてみましょう 開発者ツール、私が実際にできるように、 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 の一つは、ここで、このメニューを介して行われる [ツール]の下で、その後にダウン 42 00:02:07,250 --> 00:02:08,509 開発者ツール。 43 00:02:08,509 --> 00:02:12,890 >> そして、ここで[コンソール]タブで予告 キャッチされていないタイプのエラーは、存在しないことができます 44 00:02:12,890 --> 00:02:15,390 ヌルのSubmitにプロパティを設定します。 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 Webページが解析されることを思い出してか、読み Webブラウザによる、上から下へ、 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 >> しかし、今回のケースでは、私たちももらっていない まだDOMの一部と、 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 要素自体はnullになります その時点で。 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