ALTAVEU 1: Ara, en aquest últim exemple, Recordem que hem intercalats alguns El codi JavaScript dins del meu HTML, específicament, dins del valor de l'atribut anomenat On Enviar per a aquesta etiqueta de formulari. Ara per a les pàgines petites, això no és una cosa molt important. Però a mesura que una pàgina web es fa més llarg i més complexa, simplement posant el seu El codi JavaScript d'aquí cap allà a l'interior del valor dels atributs no és el millor disseny. Millor si ens factor de sortir i almenys, el va posar dins l'etiqueta de script en el centre. Com fer això? Bé, anem a tornar a la meva forma d'etiquetes i primer eliminar aquest atribut i el seu valorar completament. Llavors aquí, en lloc de definir una funció anomenada Greet, anem a penjar a a la línia de codi que en última instància, que encara volen executar i reemplaçar la funció Greet de la següent manera. Document.get Element By ID citar demostració fi de cita - on demo, recordo, és l'única identificador de la forma en si mateixa - punt a presentar, recordar és el nom del controlador d'esdeveniments en què estem interessats. I anem a assignar que el gestor de presentar el valor que en realitat és un funcionar en si. Ara noto que no sóc en realitat cridar a una funció aquí. Estic en comptes de definir un anònim, conegut d'una altra manera com una funció lambda, especificant entre aquestes claus un munt de codi que ha en realitat ser executat. En concret, el codi que m'agradaria a executar és aquesta línia que tenia abans i, a continuació, anem a afegir a aquest return false perquè aquesta forma no és presentat en última instància, per posar fi a la Web remot servidor de la manera tradicional. Ara anem a guardar l'arxiu, obrir-lo en un navegador, i veure què passa. http://localhost/dom-1.html. Anem ara escriviu en nom meu, David, a Envia. I res sembla haver succeït excepte la URL de la meva pàgina sembla han canviat, com si el formulari ser realitat presentada en el mateix arxiu. Ara per què podria ser? Bé, jo necessito una mica més d'informació. Així que seguirem endavant i obrir Chrome Eines de desenvolupament perquè jo pugui realment mirar la finestra de la consola per veure si he fet alguna cosa malament. Puc accedir a aquesta via un parell de maneres. Una d'elles és a través d'aquest menú aquí, a continuació, a Eines, i després cap avall per Eines de Desenvolupament. I noti aquí a la fitxa Consola, Hi ha un error de tipus no detectada, no es pot establir la propietat de presentar de null. Ara per què podria ser? Bé en el meu codi font aquí, avís que a Enviar crec que és un propietat de l'element el identificador únic és de demostració. Un element, de nou, és només un node en un arbre. Així que sembla que el meu navegador no pensar que aquest element o hi ha node encara. I, de fet, no ho fa. Recordem que una pàgina web s'analitza o llegir per un navegador web, de dalt a baix, esquerra a dreta. I així, quan el codi JavaScript és trobat, en general, s'executa seguida. Però en aquest cas, ni tan sols hem aconseguit però, a la part de la llibertat, la HTML, en què aquest formulari amb un únic demostració identificador ha estat declarada. Així que estem tractant d'executar la meva El codi JavaScript abans d'aquest node, fins i tot existeix en l'arbre, que, per descomptat, és problemàtic perquè llavors, sens dubte, el mateix element serà nul en aquest punt en el temps. Llavors, com solucionar-ho? Bé, tenim un parell de solucions. Però intentarem el més simple mitjançant la reubicació la meva etiqueta de script del cap etiquetar el meu cos, però en concret, cap a la part inferior del cos de la meva pàgina perquè que està per sota dels nodes i preguntes. En concret, anem a ressaltar i tall l'etiqueta d'obertura i tancament d'etiquetes per al script i reubicar tot aquest bloc de codi a la part inferior de l'arxiu aquí. Ara bé, això no és necessàriament el més net dissenyar, però almenys ho farà fer complir l'ordre correcte de les operacions. Anem a guardar l'arxiu i torneu a carregar en el meu navegador. Anem a carregar la pàgina, torneu a introduir el meu nom, i allà, Hola David està de tornada.