1 SPEAKER: עכשיו שבדוגמא האחרונה, זוכר שאנחנו ביניהם כמה קוד JavaScript בתוך ה-HTML שלי, באופן ספציפי, בתוך את הערך של התכונה הנקראת בשלח שלתג הטופס. עכשיו לדפים קטנים, זה לא כזה ביג דיל. אבל כמו בדף אינטרנט מקבל יותר ויותר מורכב, פשוט לשים אותך קוד JavaScript פה ושם בתוך מהערך של תכונות הוא לא העיצוב הטוב ביותר. הכי טוב אם אנו גורם שיצאנו ו לפחות לשים אותו בתוך תג סקריפט באופן מרכזי. איך לעשות את זה? ובכן בואו נחזור לתג הטופס שלי ו למחוק תחילה תכונה זו ו מעריך לגמרי. אז עד כאן, ולא מגדירים פונקציה שנקראת לברך, בואו לתלות על לשורת קוד שסופו של דבר אנחנו עדיין רוצה לבצע ולהחליף הפונקציה לברך כדלקמן. Document.get אלמנט של id לצטט הדגמת סוף ציטוט - שם הדגמה, כזכור, היא ייחודי מזהה עבור הטופס עצמו - נקודה על הגשה, שזוכר הוא את השם של המטפל באירועים שבי אנחנו מתעניינים. ובואו נקצה שעל מטפל להגיש הערך זה בעצם לתפקד עצמו. עכשיו שמו לב שאני לא ממש קורא לפונקציה כאן. אני במקום שאני מגדיר בעילום שם, הידוע כפונקציה למבדה, על ידי ציון בין הסוגריים המסולסלים האלה חבורה של קוד שצריך למעשה להיות מוצא להורג. באופן ספציפי, את הקוד שאני רוצה לבצע הוא הקו שהיה לי לפני, ואז בואו נוסיף לכך בתמורת שווא, כך שצורה זו היא לא סופו של דבר הוגש לסופו של אינטרנט מרוחק שרת בדרך המסורתית. בואו עכשיו להציל את הקובץ הזה, לפתוח אותו בדפדפן, ולראות מה קורה. http://localhost/dom-1.html. בואו עכשיו להקליד את השם שלי, דוד, שלח. ושום דבר לא נראה שקרה למעט ה-URL של הדף שלי נראה השתנה כאילו הצורה הייתה למעשה הוגש לאותו קובץ. עכשיו למה שעשוי להיות? ובכן, אני צריך קצת יותר מידע. אז בואו נלך קדימה, לפתוח את הכרום של כלים למפתחים, כך שאני באמת יכול מסתכל על חלון המסוף כדי לראות אם עשיתי משהו לא בסדר. אני יכול לגשת שבאמצעות כמה דרכים. אחד מהם הוא באמצעות תפריט זה כאן, לאחר מכן, תחת כלים, ולאחר מכן עד כלים למפתחים. ושים לב כאן בכרטיסיית המסוף, יש טעות מסוג Uncaught, לא יכול להגדיר את המאפיין בהגשה של null. עכשיו למה שעשוי להיות? גם בחזרה בקוד המקור שלי כאן, הודעה כי על submit שאני חושב הוא מאפיין של האלמנט ש מזהה ייחודית היא הדגמה. אלמנט, שוב, הוא רק צומת בעץ. כך שנראה שהדפדפן שלי לא חושב שאלמנט ש או צומת קיים עדיין. ואכן, זה לא. נזכיר כי דף אינטרנט הוא מנותח או לקרוא על ידי דפדפן אינטרנט, מלמעלה למטה, משמאל לימין. וכך, כאשר קוד JavaScript הוא נתקל, בדרך כלל, זה בוצע מייד. אבל במקרה הזה, יש לנו אפילו לא קיבל עדיין חלק מDom, HTML, שבצורה שעם ייחודי הדגמה מזהה הוכרזה. וכך אנחנו מנסים להוציא לפועל שלי קוד JavaScript לפני הצומת כי גם קיים בעץ שכמובן הוא, בעייתי משום שאז, ללא ספק, האלמנט עצמו יהיה בטל בנקודה זו בזמן. אז איך לתקן? ובכן יש לנו כמה פתרונות. אבל בואו ננסה הפשוט ביותר על ידי העברת תג התסריט שלי מהראש תג לגוף שלי, אבל באופן ספציפי, לכיוון החלק התחתון של גופו של הדף שלי כל כך שזה מתחת לצומת ושאלות. באופן ספציפי, בואו להדגיש ולחתוך התג הפתוח ותג סגירה לתסריט ולהעתיק את מקום מגורים שכל הבלוק של קוד לחלק התחתון של הקובץ כאן. עכשיו זה לא בהכרח נקי לתכנן, אבל לפחות זה יהיה לאכוף את הסדר הנכון של פעולות. בואו לשמור את הקובץ ו טען מחדש בדפדפן שלי. בואו לטעון מחדש את הדף, מחדש קלט את השם שלי, ושם, שלום דוד הוא חזרה.