PracticU

HTML - תגיות קלט

בלי כתוביותעם כתוביות
PracticU › קורס יסודות HTML - בניית אתר אינטרנט פשוט › HTML - תגיות קלט
מילון מושגים:
HTML - שפת הסימון שבה בונים את מבנה ותוכן דפי האינטרנט, באמצעות תגיות שמגדירות כותרות, פסקאות, קישורים ועוד.
טופס - אזור בממשק שבו המשתמש מזין נתונים בשדות ושולח אותם, למשל טופס הרשמה או התחברות.
מאפיין - תכונה שמצמידים לרכיב ומתארת אותו או את התנהגותו, למשל מאפיין של תגית HTML או שדה באובייקט.
GET - שיטת HTTP לבקשת מידע מהשרת בלי לשנות אותו. הפרמטרים מועברים בדרך כלל בכתובת.
POST - שיטת HTTP לשליחת נתונים לשרת כדי ליצור או לעדכן משאב, למשל שליחת טופס.
תגית - סימון בקוד, למשל ב-HTML, שתוחם רכיב ומגדיר את תפקידו או תכונותיו. גם תווית לסימון וקיטלוג פריטים.
תמונה - קובץ גרפי המוצג על המסך. בהקשר של וירטואליזציה או Docker, תבנית מוכנה שממנה יוצרים מכונה או קונטיינר.
דפדפן - תוכנה שמציגה דפי אינטרנט ומריצה את הקוד שבהם, ומאפשרת לגלוש בין אתרים, למשל Chrome או Firefox.

HTML - תגיות קלט
השיעור עוסק בטפסים (Form) ובתגיות הקלט שמאפשרות לקלוט מידע מהמשתמש ולשלוח אותו לדף אחר. בסוף נלמד גם על מסגרות (Frames) לחלוקת הדף.
טופס ושליחה
1. form: עוטף את כל הרכיבים שרוצים לשלוח יחד. האטריביוט action מציין לאיזה דף הנתונים יישלחו.
2. submit: לחצן ששולח את הטופס לדף היעד.
3. method: שיטת השליחה. ברירת המחדל היא get, שבה הנתונים מופיעים בכתובת הדף אחרי סימן השאלה (query string), ולכן אפשר לראות ולהעתיק אותם. post שולח את הנתונים בתוך הבקשה ולא בכתובת, ולכן משתמשים בו לנתונים רגישים כמו סיסמה.
4. name: חובה לכל רכיב קלט. בלי name הנתון של הרכיב לא נשלח, גם אם המשתמש מילא אותו.
רכיבי קלט
1. text: תיבת טקסט בשורה אחת. אפשר לתת לה value שמופיע כברירת מחדל.
2. textarea: תיבה לכמה שורות. מגדירים בה rows ו-cols, והתגית חייבת לכלול פתיחה וסגירה, גם אם היא ריקה.
3. select ו-option: רשימה נפתחת. הנשלח הוא ה-value של האפשרות שנבחרה ולא הטקסט שמוצג. האטריביוט selected קובע אפשרות ברירת מחדל.
4. radio: לחצן רדיו. כל הרדיו של אותה קבוצה נותנים את אותו name, כדי שרק אחד ייבחר. ה-value הוא מה שנשלח.
5. checkbox: תיבה לסימון. נשלח ערך רק אם היא מסומנת.
6. password: תיבת טקסט שמסתירה את התווים. הערך נשלח כרגיל, ולכן עדיף לשלוח אותו ב-post.
7. file: בחירת קובץ מהמחשב. בצד השרת מקבלים את שם הקובץ, ובהמשך הקורס גם את הקובץ עצמו.
8. hidden: שדה נסתר. הוא לא נראה על המסך, אבל הערך שלו נשלח לדף היעד.
9. reset: מאפס את כל הטופס לערכים ההתחלתיים.
10. image: לחצן שליחה בתמונה, שמתנהג כמו submit.
label ו-for
תגית label מקושרת לרכיב קלט בעזרת האטריביוט for שמקביל ל-id של הרכיב. כך לחיצה על הטקסט מסמנת את הרדיו או את הצ'קבוקס, במקום לחייב לחיצה על הריבוע או העיגול.
מסגרות
מסגרות מחלקות את הדף למספר קבצי HTML נפרדים. דף ראשי מכיל תגית frameset, שמגדירה שורות (rows) או עמודות (cols) לפי אחוזים, פיקסלים או כוכבית שמציינת את היתר. כל מסגרת מכילה תגית frame עם src לקובץ שלה.
1. target: כל קישור מציג את הדף שלו במסגרת שנקבעה בתכונה target, במקום להחליף את כל הדף.
2. noresize: מונע מהמשתמש לשנות את גבולות המסגרת.
3. scrolling: מכבה את הסרגל הגלילה במסגרת.
4. noframes: טקסט שמוצג לדפדפנים שלא תומכים במסגרות.
שיטת המסגרות נדירה היום. מנועי חיפוש מתקשים לאנדקס אותה, ואי אפשר להדפיס את כל האתר בבת אחת. ב-ASP.NET משתמשים בדרך אחרת, שנקראת Master Page.
בסוף השיעור הסטודנט יודע לבנות טופס עם רכיבי קלט שונים ולשלוח אותו בשיטת get או post, לקשר תוויות לרכיבים, ולחלק דף למסגרות בעזרת frameset ו-target.
השיעור הבא בקורס: CSS - מושגי יסודות
מילון מושגים:
קוד מקור - הקוד שמפתחים כותבים בשפת תכנות, לפני הידור, המגדיר את פעולת התוכנה.
HTML - שפת הסימון שבה בונים את מבנה ותוכן דפי האינטרנט, באמצעות תגיות שמגדירות כותרות, פסקאות, קישורים ועוד.

להורדת קוד מקור של כל הדוגמאות בקורס HTML - לחץ כאן (להורדה ממחשב רגיל ולא מאובטח)

פרקי ההרצאה: HTML - תגיות קלט

  1. 00:00

    תגית FORM ומטרתה

  2. 01:22

    לחצן SUBMIT והגלישה לדף היעד

  3. 02:43

    הגדרת לחצן INPUT TYPE SUBMIT

  4. 04:40

    קליטת נתונים עם תיבת טקסט

  5. 06:22

    אטריביוט NAME לשליחת המידע

  6. 08:23

    שיטות השליחה GET ו-POST

  7. 10:02

    מתי להשתמש ב-GET ומתי ב-POST

  8. 11:21

    שליחת נתונים ישירות למייל

תמלול ההרצאה: HTML - תגיות קלט

הטקסט המלא של הדקות הראשונות בהרצאה «HTML - תגיות קלט» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.

  1. 00:01

    הפרק הבא שלנו נקרא הפורם. היום אנחנו הולכים לראות מה זה בדיוק פורם ומה הוא נותן לנו. בואו נפתח את ויז'ואל סטודיו ונפתח דף html חדש לגמרי.

  2. 00:17

    פייל ניו פייל. נבחר html, אופן. בואו נשמור אותו על הדסטופ. נקרא לדף הזה דפורם. אז ראשית התגית המרכזית שאנחנו הולכים לראות כרגע נקראת פורם.

  3. 00:46

    כותבים אותה בתוך הבאדי. אני מבצע פתיחה של התגית וסגירה של התגית. תגית פורם מאפשרת לתאר לאן אני הולך לבצע גלישה מהדף הנוכחי לדף אחר.

  4. 01:07

    איך אני מתאר את זה? בתגית פורם קיים אטריביוט שנקרא Action. Action זה אטריביוט שמכיל מידע לאן לגלוש כאשר לוחצים על איזשהו לחצן שנקרא Submit, או על ידי אפשרות אחרת שאנחנו נראה בהמשך.

  5. 01:28

    ואני פשוט מאוד צריך ללכת לתגית form action שווה ולכתוב בערך איזשהו דף שאני רוצה לגלוש אליו. בואו נניח שהדף הזה נקרא page2.htm. כרגע יש לי תגית form שמציינת שאם מתבצעת גלישה מהדף הזה על ידי איזשהו לחצן מיוחד שאנחנו תכף נראה, הגלישה תתבצע לדף שנקרא page2.htm.

  6. 02:01

    כרגע וישואל סטודיו מציינת לי שהיא לא מזהה את הדף הזה על ידי הערה בירוק מתחת לדף. אז בואו נפתח דף page2.htm אני הולך לפייל new file בוחר html open ושומר את הדף הזה גם כן בדסטופ וקורא לו page2. בואו נצבע את הדף הזה בצבע רקע אחר בכדי לראות באמת שישנו איזשהו שינוי ברור לעין כשאני מבצע את הגלישה.

  7. 02:47

    אז איך אני גולש לדף השני? מה שאני צריך לעשות זה להגדיר איזשהו רכיב שנקרא input type שווה submit. input type שווה submit זה בעצם לחצן מיוחד שהתפקיד שלו זה לבצע את הגלישה לדף שנמצא באקשן עבור הפורם שבתוכו נמצא הלחצן.

  8. 03:21

    בואו נסתכל עוד פעם מה יש לנו פה. יש לנו תגיד פורם, יש לנו אטריביוט שנקרא action שמפנה אותי לדף שנקרא page2.htm, יש לנו לחצן submit, שנמצא בתוך הפורם, לכן כשילחצו עליו הדף יבדוק מהו הדף שנמצא תחת אקשן ולשם יבצע גלישה.

  9. 03:43

    בכדי לכתוב איזשהו טקסט על הלחצן יש לנו את ה-Attribute Value. בואו נשמור ונבדוק איך זה מתנהג. אפשר ללחוץ מקש אם אני פה למעלה על איפה שכתוב The Form ולבחור Open Containing Folder.

  10. 04:05

    זה מיד פותח את התיקייה בה נמצא הדף ומסמן לי את הדף. דאבל קליק על הדף, פותח לי את הדף, אני מבצע לחצן, לחיצה על לחצן שלח, ואני רואה שהדפדפן מראה לי שגלשתי לפייג' 2.htm.

  11. 04:25

    בואו נחזור אחורה, נחזור לוויז'ואל סטודיו, ונראה מה עוד אני יכול לבצע עם הנתון הזה. הדבר הבא שאני רוצה לראות, ומה קורה אם יש לי מידע שהמשתמש הכניס, ואיך המידע הזה עובר לדף השני.

  12. 04:45

    בואו נניח שאני רוצה לקלוט מהמשתמש את הגיל. ניקח תגית span, אני מזכיר לכם, תגיד span מתארת לי איזושהי label פשוטה. ואני כותב enter your age.

  13. 04:59

    עכשיו אני רוצה שיהיה לי איזושהי אפשרות לקלוט גיל מהמשתמש. גיל מהמשתמש אפשר לקלוט על ידי רכיב שנקרא תיבת טקסט.

  14. 05:07

    באנגלית זה נקרא טקסט בוקס. איך אני מגדיר תיבת טקסט? תיבת טקסט מוגדרת על ידי תווית שנקראת input type=text. בואו נשמור, נחזור לדפדפן, נלחץ על refresh, ואני רואה בעצם שיש לי כאן enter your age, יש לי פה איזושהי תיבת טקסט שאני יכול להכניס איזשהו גיל, ולחצן שלח שאני שולח,

  15. 05:46

    ועכשיו המידע אמור להגיע לדף השני. איזה מידע אמור להגיע לדף השני? המידע שהמשתמש הכניס ברכיבי קלט, אבל למעשה המידע לא הגיע לדף השני. אם המידע היה מגיע לדף השני הייתי אמור לראות אותו כאן איפה שיש את כתובת ה-url.

  16. 06:07

    למה המידע עדיין לא הגיע לדף השני? אפילו שהמשתמש הכניס אותו לתיבת הטקסט. הסיבה מאוד פשוטה כל רכיב המאפשר לקלוט מידע מהמשתמש בכדי שהוא אכן ישלח את המידע לדף היעד שמוגדר באקשן, אותו רכיב צריך להכיל מאפיין מאוד מיוחד שנקרא name,

  17. 06:33

    כמובן בעל איזשהו שם משמעותי. כן, אני רואה שהתבלבלתי, ה-name צריך להיות כאן. בואו נשמור, שוב נראה מה יש לנו כאן. יש לנו תיבת טקסט input type=text ויש לה אטריוויוט שנקרא name והערך שלו שווה txt h.

  18. 06:55

    בואו נחזור לדפדפן, נבצע רפרש, שוב פעם נכניס איזשהו גיל ונבצע שליחה. עכשיו אני רואה שיש לי פה גלישה לדף השני, לדף page2.htm, מיד אחריו אני רואה סימן שאלה, מיד אחרי הסימן שאלה אני רואה שיש לי txt h שווה ואת הערך שהיה בתוך תיבת הטקסט.

  19. 07:25

    למידע שנמצא אחרי סימן השאלה קוראים query string. query string זה אותו מידע שנשלח על ידי הפרמטרים לדף היעד.

  20. 07:37

    בואו נחזור חזרה לויז'ואל סטודיו ונראה עוד כמה דברים בקשר לזה. אז מה שיש לנו כרגע זה סך הכל תגיד form, תיארתי באקשן איזה דף יעד אני רוצה לשלוח אליו נתונים, יש לי כאן איזושהי לייבל שאומרת למשתמש תכניס לי בבקשה את הגיל שלך, יש לי תיבת טקסט שקולטת את הגיל מהמשתמש, חובה שיהיה לה name אחרת המידע לא יישלח לדף היעד,

  21. 08:11

    ויש לי לחצן שליחת נתונים שנקרא input type=submit. התפקיד שלו זה לשלוח את הנתונים לדף היעד. מה קורה אם אני כן רוצה לשלוח את הנתונים אבל אני לא רוצה שיראו אותם בשורת ה-URL בראש הדפדפן?

  22. 08:28

    יכול להיות שהנתונים שלי הם חסויים, לדוגמה סיסמה או שם משתמש לפעמים. כדי לשלוח את הנתונים בלי שיראו אותם בשורת ה-URL של הדפדפן, כלומר שלא ייכתבו ב-query סטרינג, אני צריך לשנות את שיטת השליחה.

  23. 08:45

    שינוי שיטת השליחה מתבצע ברמת ה-form על ידי אטריביוט שנקרא method. יש לי שתי אפשרויות או get או post. ב-HTML, get הוא ה-default.

  24. 08:59

    get זה אומר שיטת שליחת הנתונים כאשר המידע נמצא ב-query סטרינג, מיד אחרי סימן השאלה שראינו מקודם. בואו נגדיר גט, נשמור, נחזור לדפדפן, נרפרש ונבצע עוד פעם שליחה של הנתונים.

  25. 09:22

    נראה עדיין שהנתונים נמצאים בקווירי סטרינג txt h שווה 25. השיטה הזאת היא ובדיוק אותה השיטה שקרתה מקודם וזאת שיטת גט.

  26. 09:34

    אם אני עכשיו אשנה את זה לפוסט, אשמור, אחזור בחזרה, נרפרש ואשלח, אני רואה כרגע שכן הייתה גלישה לדף page2.htm אבל אני לא רואה את הנתונים שנשלחו.

  27. 09:58

    זה לא אומר שהנתונים לא נשלחו. לכל נתון שהיה name, לכל תיבת קלט שהיה name, אכן הנתון שלה נשלח לדף היעד, אבל הנתון נשלח מאחורי הקלעים ואני לא רואה אותו ב-query string.

  28. 10:14

    אז מתי משתמשים בשיטת גט ומתי משתמשים בשיטת פוסט? בשיטת פוסט כמובן משתמשים כאשר אני לא רוצה שאף אחד יראה איזה מידע נשלח לדף היעד. בשיטת גט משתמשים כאשר אני כן רוצה שאנשים יראו מה נשלח בשיטת היעד.

  29. 10:31

    ואז היתרון של שיטת גט ושאם רואים את הנתונים שנשלחים בכתובת ה-URL אפשר לבצע עליהם קופי. לדוגמה ביוטיוב אתם יכולים לראות שכאשר אתם גולשים לאיזשהו וידאו רואים סימן שאלה ואז רואים את המידע לגבי איזה וידאו מוצג.

  30. 10:59

    כך ניתן בעצם לסמן את כל הכתובת כולל הפרמטר שנשלח לדף, לבצע העתקה ולשלוח באימייל לחבר או לשמור את זה ואז אפשר אפשר לגלוש עוד פעם לדף הוידאו ומיד הוא יציג לכם את הוידאו המבוקש.

  31. 11:16

    בואו נחזור לויז'ל סטודיו ונראה מה עוד אפשר לעשות עם הנתונים האלה. אפשר לראות שאני יכול לבצע מעין שליחת הנתונים לא לדף יעד אלא ישירות לתוך אימייל.

  32. 11:32

    איך אני מבצע את זה? אני רושם מייל 2.2 ואיזה אימייל אני רוצה. לדוגמה [email protected] כרגע מה שעשיתי ואמרתי דבר כזה. כאשר לוחצים על החצן submit הדפדפן רואה שיש לו פקודת מייל 2. זה אומר שהוא הולך לשלוח את הנתונים בדף ישירות למייל הזה.

  33. 12:03

    יש עם זה איזושהי בעיה קלה שכבר אנחנו הולכים לראות בהמשך אבל בואו נסתכל כרגע איך זה מתנהג. אני חוזר בחזרה לדפדפן, נחזור לדף הקודם, נרפרש ונבצע שליחה של הנתונים.

  34. 12:18

    אני רואה כרגע שהוא אומר לי שמישהו מנסה לשלוח איזשהו אימייל והוא שואל אותי איך אני רוצה בדיוק לבצע שליחה של האימייל. פה נבחר את gmail, לבצע אוקיי ואני רואה שדף gmail נפתח ואומר למשתמש בוא תירשם בכדי שאני אשלח לך את הנתונים.

  35. 12:41

    זה קרה במחשב הזה, בדרך כלל אפילו את זה לא יקרה אלא מה שיקרה זה תוכנת Outlook או תוכנה דומה הולכת להיפתח ולבקש מהמשתמש אפשרות להתחיל לבצע קונפיגורציה בשביל לשלוח מייל.

  36. 12:56

    כמובן שהמשתמש הפשוט לא אמור להבין בכל הסיפור הזה ולכן הוא לא כל כך ידע מה לעשות. זאת הסיבה שהשיטה הזאתי לא כל כך טובה, מפני שזה לא באמת ישלח מייל אם המייל לא מעודכן במחשב של המשתמש בצורה נכונה.

  37. 13:14

    השיטה הזאתי כבר ישנה ולא כל כך משתמשים איתה. בהמשך נראה איך באמת אפשר לשלוח מייל בעזרת שפה אחרת שנקראת ASP.NET. אוקיי, אז מה היה לנו כרגע?

  38. 13:28

    היינו תגיד פורם, ותגיד פורם עדכנו לאיזה דף אני רוצה להגיע כאשר לוחצים על submit. בואו נרשום page2.htm, הייתה לי פה את בחירת שיטת הנתונים, get מאפשרת לפרמטרים להגיע לדף השני בשורת ה-URL, post גורמת לפרמטרים להיות מוסתרים.

  39. 13:54

    ביקשתי מהמשתמש נתונים להכניס על ידי תיבות קלט, כרגע השתמשנו רק בתיבת טקסט, ולחצן submit זה הלחצן הכי חשוב שמבצע גלישה לדף שמוגדר ב-action ושולח אליו את הפרמטרים, או בשורת ה-URL אם מוגדר get או מאחורי הקלעים אם מוגדר post.

  40. 14:13

    זאת הייתה תגית פורם. אוקיי, אז מה שאנחנו הולכים לראות עכשיו זה איך בעצם ליישם את החומר שלמדנו על תגית פורם בכדי ליצור איזשהו דף שמסוגל לקלוט מהמשתמש פרטים.

  41. 14:31

    אז המטרה שלנו לקלוט מהמשתמש כל מיני סוגים שונים של פרטים בכדי שיהיה לנו את האפשרות לשלוח את זה לאיזשהו דף, בוא נניח לצורך שמירה באיזשהו בסיס נתונים או לצורך עיבוד המידע.

  42. 14:45

    אז מה שנעשה, נפתח בעצם דף חדש לגמרי בשביל להתחיל את הכל בצורה מסודרת מההתחלה. אז אני הולך ל-File, New, File, בוחר HTML, לוחץ Open,

לקורס המלא: קורס HTML ו‑CSS אונליין

ההרצאה הקודמת: HTML - תגיות פלט

ההרצאה הבאה: CSS - מושגי יסודות

הרצאות קשורות מקורסים אחרים

  • שימוש ב-Html Helpers
  • ולידציה על קלט המשתמש - Validation
  • קלט מהמשתמש - User Input

קורסים נוספים במסלול

  • קורס CSS 3 - בדגש על Flex & Grid
  • קורס Javascript כולל JQuery
  • קורס ג'אווה סקריפט מעשי - JavaScript
  • קורס TypeScript
  • קורס ריאקט - React
  • קורס NodeJS