Oratè 1: Koulye a, nan ki sot pase a egzanp, sonje ke nou antremele kèk JavaScript Kòd andedan nan HTML m 'yo, espesyalman, andedan nan valè a nan atribi yo rele Sou Soumèt pou sa tag fòm. Koulye a, pou paj piti, sa a se pa tankou yon kontra gwo. Men, jan yon paj wèb li vin pi long ak plis ankò konplèks, tou senpleman mete ou JavaScript Kòd isit la epi gen andedan nan valè a nan atribi se pa nan pi bon konsepsyon. Pi bon si nou faktè ki deyò epi yo omwen mete l 'anndan tag nan script santralman. Ki jan yo fè sa? Oke kite la retounen nan tag fòm m 'ak premye efase atribi sa a ak li yo valè tout ansanm. Lè sa a, moute isit la, olye ke defini yon fonksyon rele Di, se pou yo kwoke sou nan liy lan nan kòd ki finalman nou ap toujou vle egzekite epi ranplase fonksyon an Di jan sa a. Document.get Eleman Pa ID site unquote Demo - kote Demo, sonje, se inik nan idantifyan pou fòm nan tèt li - dot sou soumèt, ki sonje se non an nan Handler a evènman nan ki nou ap enterese. Li kite yo bay ki sou soumèt Handler valè a ki nan aktyèlman yon fonksyone tèt li. Koulye a, remake ke mwen se pa aktyèlman rele yon fonksyon isit la. Mwen olye pou defini yon anonim, otreman li te ye kòm yon fonksyon LAMBDA, pa ki espesifye genyen ant sa yo aparèy òtopedik Curly yon pakèt moun sou kòd ki ta dwe aktyèlman ap egzekite. Espesyalman, kòd a ke mwen ta renmen al touye se ke liy ki mwen te gen anvan, epi Lè sa a, se pou yo ajoute nan ki retounen fo pou ke fòm sa a se pa finalman soumèt nan fen entènèt aleka sèvè nan chemen an tradisyonèl yo. Se pou nou kounye a sove sa a ranpli, louvri l ' nan yon navigatè, ak wè sa ki rive. http://localhost/dom-1.html. Se pou nou kounye a tape nan non mwen, David la, Soumèt. E pa gen anyen sanble li te rive eksepte URL la nan paj mwen an sanble li te chanje tankou si fòm lan te aktyèlman soumèt nan dosye a menm. Koulye a, poukisa ke sa ta kapab? Byen mwen bezwen kèk plis enfòmasyon. Se konsa, kite a ale pi devan epi louvri moute Chrome a Developer Zouti pou m 'ka aktyèlman gade nan fenèt la konsole yo wè si mwen te fè yon move bagay. Mwen ka gen aksè a atravè yon koup la fason. Youn nan ki se atravè meni sa a isit la, Lè sa a, anba Zouti, lè sa a desann nan Developer Zouti. Apre sa, remake isit la nan tab la konsole, gen nan yon erè di ki kalite uncaught, yo pa kapab mete pwopriyete sou soumèt nan nil. Koulye a, poukisa ke sa ta kapab? Oke tounen nan Kòd sous m 'isit la, avi ki sou soum Mwen panse ke se yon pwopriyete eleman an ki gen idantifikatè inik ki se Demo. Yon eleman, ankò, se jis yon ne nan yon pyebwa. Se konsa, li parèt ke navigatè mwen an fè sa ki pa panse ke ki eleman oswa ne egziste ankò. Ak tout bon, li pa fè sa. Sonje byen, se yon paj wèb parcouru oswa li pa yon navigatè entènèt, anwo jouk anba, gòch a dwat. Se konsa, lè JavaScript Kòd se rankontre, tipikman, li te egzekite touswit. Men, nan ka sa a, nou pa gen menm vinn ankò nan pati a nan Dom a, nan HTML, nan ki fòm sa a ak yon inik te idantifyan Demo yo te deklare. Se konsa, nou ap eseye egzekite mwen JavaScript Kòd anvan sa ne menm egziste nan pye bwa a ki, nan kou, se pwoblèm paske lè sa a, siman, eleman nan tèt li pral nil nan ki pwen nan tan. Se konsa, kouman yo korije? Oke nou gen yon koup nan solisyon yo. Men, kite a eseye pi senp la pa chanje lokal tag script m 'soti nan tèt la tag nan kò m ', men espesyalman, nan direksyon anba a nan kò paj mwen an pou ke li nan anba a ne yo ak kesyon yo. Espesyalman, se pou yo mete aksan sou e li te koupe tag nan ouvè ak tag fèmen pou script ak deplase ke blòk antye nan Kòd nan fon an nan dosye a isit la. Koulye a, sa a se pa nesesèman propr a desine, men omwen li pral ranfòse lòd ki dwat nan operasyon yo. Se pou yo sove dosye a ak Reload nan navigatè m 'yo. Se pou yo Reload paj la, re-D 'non mwen, epi gen, Bonjou David se tounen.