ALTAVOZ 1: Ahora, en ese último ejemplo, Recordamos que hemos intercalados algunos El código JavaScript dentro de mi HTML, específicamente, dentro del valor de el atributo llamado On Enviar para esa etiqueta de formulario. Ahora para las páginas pequeñas, esto no es una cosa muy importante. Pero a medida que una página web se hace más largo y más compleja, simplemente poniendo su El código JavaScript de aquí para allá en el interior del valor de los atributos no es el mejor diseño. Mejor si nos factor que salir y al menos, lo puso dentro de la etiqueta de script en el centro. ¿Cómo hacer esto? Bueno, vamos a volver a mi forma de etiquetas y primero eliminar este atributo y su valorar por completo. Entonces aquí, en lugar de definir una función llamada Greet, vamos a colgar en a la línea de código que en última instancia, que todavía quieren ejecutar y reemplazar la función Greet de la siguiente manera. Document.get Element By ID citar demostración fin de cita - donde demo, recuerdo, es la única identificador de la forma en sí misma - punto en presentar, que recordar es el nombre del controlador de eventos en el que estamos interesados. Y vamos a asignar que el manejador de presentar el valor que en realidad es un funcionar en sí. Ahora noto que no soy en realidad llamar a una función aquí. Estoy en vez de definir un anónimo, conocido de otra manera como una función lambda, especificando entre estas llaves un montón de código que debe en realidad ser ejecutado. En concreto, el código que me gustaría a ejecutar es esa línea que tenía antes y, a continuación, vamos a añadir a ese return false para que esta forma no es presentado en última instancia, para poner fin a web remoto servidor de la manera tradicional. Ahora vamos a guardar el archivo, abrirlo en un navegador, y ver qué pasa. http://localhost/dom-1.html. Vamos ahora escriba en mi nombre, David, en Enviar. Y nada parece haber sucedido excepto la URL de mi página parece han cambiado, como si el formulario fue realidad presentada en el mismo archivo. Ahora ¿por qué podría ser? Bueno, yo necesito algo más de información. Así que vamos a seguir adelante y abrir Chrome Herramientas de desarrollo para que yo pueda realmente mirar a la ventana de la consola para ver si he hecho algo mal. Puedo acceder a esa vía un par de maneras. Una de ellas es a través de este menú aquí, a continuación, en Herramientas, y luego hacia abajo para Herramientas de Desarrollo. Y note aquí en la ficha Consola, Hay un error de tipo no detectada, no se puede establecer la propiedad de presentar de null. Ahora ¿por qué podría ser? Bueno en mi código fuente aquí, aviso que en Enviar creo que es un propiedad del elemento cuyo identificador único es de demostración. Un elemento, de nuevo, es sólo un nodo en un árbol. Así que parece que mi navegador no pensar que ese elemento o existe nodo todavía. Y, de hecho, no lo hace. Recordemos que una página web se analiza o leer por un navegador web, de arriba abajo, izquierda a derecha. Y así, cuando el código JavaScript es encontrado, por lo general, se ejecuta enseguida. Pero en este caso, ni siquiera hemos conseguido sin embargo, a la parte de la libertad, la HTML, en el que dicho formulario con un único demostración identificador ha sido declarada. Así que estamos tratando de ejecutar mi El código JavaScript antes de ese nodo, incluso existe en el árbol, que, por supuesto, es problemático porque entonces, sin duda, el propio elemento será nulo en ese punto en el tiempo. Entonces, ¿cómo solucionarlo? Bueno, tenemos un par de soluciones. Pero vamos a intentar el más simple mediante la reubicación mi etiqueta de script de la cabeza etiquetar a mi cuerpo, pero en concreto, hacia la parte inferior del cuerpo de mi página para que que está por debajo de los nodos y preguntas. En concreto, vamos a resaltar y corte la etiqueta de apertura y cierre de etiquetas para el script y reubicar todo ese bloque de código a la parte inferior del archivo aquí. Ahora bien, esto no es necesariamente el más limpio diseñar, pero al menos lo hará hacer cumplir el orden correcto de las operaciones. Vamos a guardar el archivo y vuelva a cargar en mi navegador. Vamos a cargar la página, vuelva a ingresar mi nombre, y allí, Hola David está de vuelta.