Menu

HTML input types: כל 22 הסוגים של התגית input

כל הסוגים של התגית <input> ב-HTML במקום אחד: text, email, password, number, range, תאריך ושעה, color, file, hidden וכל השאר, עם מה שכל אחד מאמת, המקלדת שהוא פותח בטלפונים, והמאפיינים המשותפים להם.

בדף הזה יש עורכים שאפשר להריץ - לערוך, להריץ ולראות את הפלט מיד.

התגית input והסוגים שלה

<input> הוא שדה טופס, והמאפיין type שלו קובע איזה סוג. אותה תגית יוצרת תיבת טקסט, מחוון, בוחר תאריכים או בוחר צבעים. נסו כל שדה למטה ולחצו על Submit כדי לראות מה הטופס שולח:

<input> הוא אלמנט ריק, ולכן אין לו תגית סגירה. ה-name שלו הוא המפתח שתחתיו הערך נשלח, ו-value הוא ערך ההתחלה. type חסר או עם שגיאת כתיב נותן שדה טקסט רגיל.

כל סוגי ה-input ב-HTML

typeמה זההערות
textשורה אחת של טקסטברירת המחדל
passwordטקסט שמוצג כנקודותלא מוצפן בעצמו; שלחו אותו דרך HTTPS
emailכתובת אימיילמאמת את הפורמט; מקש @ במקלדות טלפון
urlכתובת אינטרנטחייבת להתחיל בסכמה כמו https://
telמספר טלפוןמקלדת טלפון בנייד, בלי בדיקת פורמט
searchתיבת חיפושלעיתים קרובות מציגה כפתור ניקוי
numberמספרכפתורי הגדלה והקטנה, min, max, step
rangeמחווןלא מדויק מעצם הגדרתו; הערך הוא מספר
dateתאריךהערך הוא YYYY-MM-DD
timeשעה ביוםהערך הוא HH:MM (שעון 24 שעות)
datetime-localתאריך ושעה, בלי אזור זמןהערך הוא YYYY-MM-DDTHH:MM
monthשנה וחודשלא נתמך בכל דפדפן
weekשנה ומספר שבועלא נתמך בכל דפדפן
colorבוחר צבעיםהערך הוא #rrggbb באותיות קטנות
checkboxתיבת פועל/כבויראו HTML checkbox
radioבחירה אחת מתוך קבוצהראו HTML radio button
fileבוחר קבציםaccept, multiple
hiddenערך שנשלח אבל לא מוצגלמזהים ולטוקנים
submitכפתור שליחה<button type="submit"> גמיש יותר
resetכפתור איפוסלעיתים רחוקות רעיון טוב
buttonכפתור שלא עושה כלום בעצמובשביל JavaScript
imageכפתור שליחה שמצויר כתמונהשולח גם את קואורדינטות הלחיצה

סוגי טקסט ומקלדות טלפון

email, url, tel, search ו-text נראים כולם כמו תיבת טקסט במחשב. ההבדל הוא באימות, ובטלפונים, באיזו מקלדת נפתחת. הגבול בדוגמה הזו הופך לירוק או לאדום לפי השיפוט של הדפדפן על הערך:

  • ada@example הוא אימייל תקין מבחינת הדפדפן: הוא בודק רק שיש טקסט, @ ודומיין, לא שיש בדומיין נקודה. הבדיקה האמיתית קורית בשרת.
  • example.com אינו url תקין, כי אין לו סכמה. https://example.com כן.
  • tel מקבל הכל. פורמטים של טלפון שונים מדי בין מדינות, ולכן אין בדיקה מובנית; הוסיפו pattern אם אתם צריכים אחת.
  • inputmode="numeric" מבקש מטלפונים מקלדת ספרות בלי הבעיות של type="number", ולכן הוא הבחירה הנכונה למיקודים, קודים חד פעמיים ומספרי כרטיסים.

number ו-range

שניהם מקבלים min, max ו-step. number מיועד לערכים מדויקים; range הוא מחוון לערכים שבהם המספר המדויק פחות חשוב. מחוון range לא מציג מספר, אז שלבו אותו עם <output>:

ברירת המחדל של step היא 1 ב-number, ולכן שדה מחיר בלי step="0.01" דוחה את 4.99 כשהטופס נשלח. ב-JavaScript, input.value הוא תמיד מחרוזת; השתמשו ב-input.valueAsNumber כדי לקבל מספר.

תאריכים ושעות

סוגי התאריך והשעה פותחים את הבוחר של הדפדפן עצמו. מה שהקורא רואה עוקב אחרי האזור שלו (09/24/2026, 24.09.2026), אבל הערך הוא תמיד באותו פורמט קבוע:

הפורמט הקבוע הזה הוא מה שהשרת מקבל ומה ש-JavaScript קורא, כך שאף פעם לא צריך לפענח "24.09.2026". min ו-max מקבלים את אותו פורמט. ל-datetime-local אין אזור זמן: אם זה חשוב, המירו בשרת לפי האזור של הקורא.

color ו-file

accept="image/*" מגביל את בוחר הקבצים לתמונות (ומציע את המצלמה בטלפונים); הוא מקבל גם סיומות, כמו accept=".pdf,.docx". זו רק המלצה לבוחר, אז בדקו את סוג הקובץ בשרת. multiple מאפשר כמה קבצים. העלאה אמיתית צריכה גם method="post" ו-enctype="multipart/form-data" על הטופס.

הצעות עם datalist

<datalist> נותן לשדה טקסט רשימת הצעות ועדיין מאפשר כל ערך. חברו אותם עם המאפיין list:

הקלידו "ja" בשדה כדי לראות את ההצעות התואמות. בניגוד ל-select, הקורא יכול להקליד ערך שלא נמצא ברשימה.

מאפיינים שעובדים על input

מאפייןמה הוא עושה
nameהמפתח שתחתיו הערך נשלח
valueערך ההתחלה
placeholderרמז שמוצג כל עוד השדה ריק (לא תווית)
requiredחובה למלא לפני השליחה
disabledאי אפשר להשתמש בו, והוא לא נשלח
readonlyאי אפשר לערוך אותו, אבל הוא נשלח
autocompleteמה למלא אוטומטית: email, name, current-password, one-time-code, off
min, max, stepגבולות למספרים, מחוונים, תאריכים ושעות
minlength, maxlengthגבולות אורך לסוגי טקסט
patternביטוי רגולרי שהערך כולו חייב להתאים לו
inputmodeאיזו מקלדת טלפון להציג: numeric, decimal, email, tel, url
listה-id של <datalist>
multipleכמה ערכים, ל-email ול-file
acceptסוגי קבצים ל-file

טעויות נפוצות

  • type="number" למספרי טלפון, מיקודים או מספרי כרטיסים. הם לא כמויות. השתמשו ב-tel או ב-text עם inputmode="numeric".
  • שדה מחיר בלי step="0.01". ערכים עשרוניים נכשלים באימות.
  • שימוש ב-placeholder בתור התווית. הוא נעלם ברגע שהקורא מקליד.
  • הסתמכות על accept או type="email" לאבטחה. הם נועדו לנוחות; השרת בודק שוב.
  • type="month" או type="week" בלי חלופה. חלק מהדפדפנים מציגים שדה טקסט רגיל.
  • תגית סגירה </input>. <input> הוא אלמנט ריק.

שאלות נפוצות

כמה סוגי input יש ב-HTML?

22: button, checkbox, color, date, datetime-local, email, file, hidden, image, month, number, password, radio, range, reset, search, submit, tel, text, time, url ו-week. סוג לא מוכר או חסר מתנהג כמו text.

מה סוג ה-input של ברירת המחדל ב-HTML?

text. <input> בלי type, או עם סוג שהדפדפן לא מכיר, הוא שדה טקסט של שורה אחת.

להשתמש ב-type="number" למספרי טלפון או למיקודים?

לא. number מיועד לכמויות: הוא מוסיף כפתורי הגדלה והקטנה, ודוחה את ה-+, הרווחים והמקפים שיש במספרי טלפון. השתמשו ב-type="tel" למספרי טלפון, וב-type="text" עם inputmode="numeric" לקודים כמו מיקודים ומספרי כרטיסים.

באיזה פורמט משתמש input type date?

הערך הוא תמיד YYYY-MM-DD, כמו 2026-09-24, לא משנה באיזה פורמט הקורא רואה אותו על המסך. התצוגה עוקבת אחרי האזור של הקורא; הערך שנשלח ושנקרא בסקריפט לא.

האם לתגית input צריך תגית סגירה?

לא. <input> הוא אלמנט ריק: כתבו <input type="text" name="city">. תגית סגירה </input> אינה תקינה, והלוכסן של סגירה עצמית ב-<input /> מותר אבל לא עושה כלום.

איור של שפות התכנות ב-Coddy

ללמוד תכנות עם Coddy

להתחיל