>> SPEAKER 1: Sekarang di bahawa contoh lepas, ingat bahawa kita diiringi beberapa
JavaScript kod dalam HTML saya, khusus, di dalam nilai
sifat yang dipanggil Pada Hantar untuk bahawa bentuk tag.
Sekarang untuk laman kecil, ini tidak seperti masalah besar.
Tetapi sebagai laman web mendapat lebih panjang dan lebih kompleks, hanya meletakkan anda
JavaScript kod di sana sini di dalam daripada nilai sifat-sifat tidak adalah
reka bentuk yang terbaik.
Terbaik jika kita faktor yang keluar dan sekurang-kurangnya meletakkannya di dalam
tag skrip secara berpusat.
>> Bagaimana untuk melakukan ini?
Nah mari kita kembali ke bentuk tag saya dan memadam sifat ini dan yang
menghargai sama sekali.
Kemudian di sini, dan bukannya menentukan fungsi dipanggil Sambut, mari kita tergantung pada
kepada baris kod yang akhirnya kita masih mahu untuk melaksanakan dan menggantikan
fungsi Sambut seperti berikut.
Document.get Unsur Dengan ID memetik demo unquote -
mana demo, ingat, adalah unik pengecam untuk bentuk itu sendiri -
dot ke atas mengemukakan, yang ingat ialah nama yang daripada pengendali peristiwa di mana
kita berminat.
Dan mari kita menyerahhakkan bahawa pada mengemukakan pengendali nilai yang sebenarnya satu
berfungsi sendiri.
>> Sekarang notis bahawa saya tidak benar-benar memanggil satu majlis di sini.
Saya bukannya menentukan tanpa nama, atau dikenali sebagai fungsi lambda,
dengan menentukan antara pendakap kerinting sekumpulan kod yang perlu
sebenarnya dilaksanakan.
Secara khusus, kod yang saya suka untuk melaksanakan ialah garis yang saya mempunyai
sebelum ini, dan kemudian mari kita menambah bahawa pulangan palsu supaya borang ini tidak
akhirnya dihantar untuk menamatkan web jauh server dengan cara yang tradisional.
>> Sekarang mari kita simpan fail ini, membukanya dalam pelayar, dan lihat apa yang berlaku.
http://localhost/dom-1.html.
Sekarang mari kita menaip nama saya, David, Hantar.
Dan apa-apa nampaknya telah berlaku kecuali URL laman saya seolah-
telah berubah seolah-olah bentuk itu dikemukakan untuk fail yang sama.
>> Sekarang mengapa yang mungkin?
Well, saya memerlukan maklumat lebih banyak.
Jadi mari kita pergi ke hadapan dan membuka Chrome Alat Pembangun supaya saya boleh sebenarnya
melihat tetingkap konsol untuk melihat jika saya telah melakukan sesuatu yang salah.
Saya boleh akses yang melalui beberapa cara.
Satu daripadanya adalah melalui menu ini di sini, maka di bawah Tools, kemudian turun ke
Developer Tools.
>> Dan notis di sini di tekan Console itu, terdapat satu ralat jenis uncaught, tidak boleh
ditetapkan hartanah ke atas mengemukakan satu null.
Sekarang mengapa yang mungkin?
Nah kembali dalam kod sumber saya di sini, notis bahawa pada submit saya fikir adalah
harta daripada unsur yang pengecam unik adalah demo.
Satu elemen, sekali lagi, hanya nod dalam pokok.
>> Jadi ternyata bahawa pelayar saya tidak berfikir bahawa elemen yang
atau nod wujud yet.
Dan sesungguhnya, ia tidak.
Ingat bahawa laman web ini dipecah atau membaca oleh pelayar web, atas ke bawah,
kiri ke kanan.
Dan maka apabila JavaScript diaktifkan dihadapi, biasanya, ia dilaksanakan
merta.
>> Tetapi dalam kes ini, kami telah tidak mendapat belum bahagian dom itu,
HTML, di mana bentuk yang unik dengan pengecam demo diisytiharkan.
Dan jadi kami cuba untuk melaksanakan saya JavaScript kod sebelum nod bahawa walaupun
wujud di pokok itu yang, sememangnya, adalah bermasalah kerana, maka tentulah,
elemen itu sendiri akan menjadi batal pada ketika itu dalam masa.
>> Jadi bagaimana untuk menetapkan?
Baik kita mempunyai beberapa penyelesaian.
Tetapi mari kita cuba yang paling mudah dengan memindahkan tag skrip saya dari kepala
tag untuk badan saya, tetapi secara khusus, ke arah bahagian bawah badan halaman saya supaya
bahawa itu di bawah nod dan soalan.
Secara khusus, mari kita menonjolkan dan mengurangkan tag terbuka dan tag tutup untuk skrip
dan menempatkan semula bahawa blok keseluruhan kod ke bahagian bawah fail di sini.
>> Sekarang ini tidak semestinya bersih mereka bentuk, tetapi sekurang-kurangnya ia akan
menguatkuasakan perintah hak operasi.
Mari kita simpan fail tersebut dan menambah nilai dalam pelayar saya.
Mari kita memuatkan semula halaman, memasukkannya kembali nama saya, dan di sana, Hello David kembali.