>> INTERLOCUTEUR 1: Maintenant dans ce dernier exemple, rappelons que nous entrecoupées certains
Le code JavaScript à l'intérieur de mon HTML, plus précisément, à l'intérieur de la valeur de
l'attribut appelé sur Envoyer pour que des balises de formulaire.
Maintenant pour les petites pages, ce n'est pas une grosse affaire.
Mais en tant que page web devient plus long et plus complexe, mettant simplement votre
Le code JavaScript ici et là à l'intérieur de la valeur des attributs n'est pas l'
meilleure conception.
Idéal si l'on tient compte que, sur et au moins mettre à l'intérieur de
la balise script central.
>> Comment faire cela?
Eh bien, revenons à ma balise de formulaire et d'abord supprimer cet attribut et sa
valeur tout à fait.
Alors ici, plutôt que de définir une fonction appelée Greet, nous allons traîner sur
à la ligne de code qui finalement nous sera encore envie de signer et de le remplacer
la fonction Greet comme suit.
Document.get élément par ID citer démo unquote -
où démonstration, le rappel, est l'unique, identificateur de la forme elle-même -
point sur soumettre, qui rappellent le nom du gestionnaire d'événement dans laquelle
nous sommes intéressés.
Et nous allons assigner que sur soumettre gestionnaire la valeur qui est en fait une
lui-même fonctionner.
>> Maintenant m'aperçois que je ne suis pas réellement appel d'une fonction ici.
Je place la définition d'un anonyme, autrement connu en tant que fonction de lambda,
en spécifiant entre ces accolades un tas de code qui devrait
être réellement exécuté.
Plus précisément, le code que je voudrais à exécuter est que la ligne que j'avais
avant, et puis nous allons ajouter à ce return false afin que ce formulaire n'est pas
finalement soumis à la fin web à distance serveur de la manière traditionnelle.
>> Voyons maintenant enregistrer ce fichier, ouvrez-le dans un navigateur, et voir ce qui se passe.
http://localhost/dom-1.html.
Tapons maintenant en mon nom, David, Terminer.
Et rien ne semble s'être produit sauf l'URL de ma page semble
ont changé, comme si la forme était effectivement soumis au même fichier.
>> Maintenant, pourquoi cela pourrait-il être?
Eh bien j'ai besoin de plus d'informations.
Donc, nous allons aller de l'avant et d'ouvrir Chrome Outils de développement pour que je puisse effectivement
regarder à la fenêtre de la console pour voir si j'ai fait quelque chose de mal.
Je peux accéder à ce via deux façons.
Dont l'un est via ce menu ici, puis, sous Outils, puis vers le bas pour
Outils de développement.
>> Et remarquez ici dans l'onglet Console, il ya une erreur de type non interceptée, ne peut pas
définir la propriété sur soumettre null.
Maintenant, pourquoi cela pourrait-il être?
Eh bien dans mon code source ici, un avis que sur Valider Je pense que c'est une
propriété de l'élément dont identificateur unique est démo.
Un élément, encore une fois, est tout un noeud dans un arbre.
>> Il semble donc que mon navigateur n'est pas penser que cet élément
ou nœud existe encore.
Et en effet, il ne fait pas.
Rappelons qu'une page Web est analysé ou lire par un navigateur Web, de haut en bas,
de gauche à droite.
Et lorsque le code JavaScript est rencontré, généralement, il est exécuté
tout de suite.
>> Mais dans ce cas, nous n'avons pas encore obtenu encore à la partie de la liberté, de la
HTML, dans laquelle cette forme avec un unique démonstration d'identification a été déclarée.
Et si nous essayons d'exécuter mon Le code JavaScript avant ce nœud même
existe dans l'arbre qui, bien sûr, est problématique car alors, sûrement,
l'élément lui-même sera nulle à ce moment-là.
>> Alors, comment résoudre ce problème?
Eh bien, nous avons quelques solutions.
Mais essayons le plus simple en déplaçant ma balise script de la tête
marquer à mon corps, mais plus particulièrement, vers le bas du corps de ma page afin
qu'il est au-dessous des noeuds et des questions.
Plus précisément, nous allons mettre en évidence et coupé la balise d'ouverture et près tag pour le script
et déménager que tout bloc de code à la fin du fichier ici.
>> Maintenant, ce n'est pas nécessairement le plus propre concevoir, mais au moins il sera
respecter le bon ordre des opérations.
Sauvons le fichier et recharger dans mon navigateur.
Disons recharger la page, ré-entrer mon nom, et là, Bonjour David est de retour.