Menu

Tipe Input HTML: Semua 22 Type dari Tag input

Semua type tag <input> HTML di satu tempat: text, email, password, number, range, date dan time, color, file, hidden dan sisanya, beserta apa yang divalidasi masing-masing, keyboard yang dibukanya di ponsel, dan atribut yang mereka pakai bersama.

Halaman ini dilengkapi editor yang bisa dijalankan. Edit, jalankan, dan lihat output-nya seketika.

Tag input dan type-nya

<input> adalah field form, dan atribut type-nya menentukan jenisnya. Tag yang sama bisa membuat kotak teks, slider, pemilih tanggal, atau pemilih warna. Coba setiap field di bawah ini lalu tekan Submit untuk melihat apa yang dikirim form:

<input> adalah elemen void, jadi tidak punya tag penutup. name-nya adalah kunci yang dipakai untuk mengirim nilainya, dan value adalah nilai awalnya. type yang tidak ditulis atau salah ketik menghasilkan field teks biasa.

Semua type input HTML

typeApa ituCatatan
textSatu baris teksDefault-nya
passwordTeks yang ditampilkan sebagai titikTidak terenkripsi dengan sendirinya; kirim lewat HTTPS
emailAlamat emailMemvalidasi format; tombol @ di keyboard ponsel
urlAlamat webHarus diawali skema seperti https://
telNomor teleponKeypad telepon di ponsel, tanpa pemeriksaan format
searchKotak pencarianSering menampilkan tombol hapus
numberAngkaTombol putar, min, max, step
rangeSliderMemang tidak presisi; nilainya berupa angka
dateTanggalNilainya YYYY-MM-DD
timeJamNilainya HH:MM (format 24 jam)
datetime-localTanggal dan jam, tanpa zona waktuNilainya YYYY-MM-DDTHH:MM
monthTahun dan bulanTidak didukung di semua browser
weekTahun dan nomor mingguTidak didukung di semua browser
colorPemilih warnaNilainya #rrggbb dalam huruf kecil
checkboxKotak nyala/matiLihat checkbox HTML
radioSatu pilihan dari sebuah grupLihat radio button HTML
filePemilih fileaccept, multiple
hiddenNilai yang dikirim tapi tidak ditampilkanUntuk ID dan token
submitTombol submit<button type="submit"> lebih fleksibel
resetTombol resetJarang menjadi ide yang baik
buttonTombol yang tidak melakukan apa pun dengan sendirinyaUntuk JavaScript
imageTombol submit yang digambar sebagai gambarJuga mengirim koordinat klik

Type teks dan keyboard ponsel

email, url, tel, search dan text semuanya terlihat seperti kotak teks di desktop. Perbedaannya ada di validasi dan, di ponsel, keyboard mana yang terbuka. Border di contoh ini berubah hijau atau merah sesuai penilaian browser terhadap nilainya:

  • ada@example adalah email yang valid bagi browser: browser hanya memeriksa ada teks, @, dan domain, bukan apakah domainnya punya titik. Pemeriksaan sungguhan terjadi di server.
  • example.com bukan url yang valid, karena tidak punya skema. https://example.com valid.
  • tel menerima apa saja. Format nomor telepon terlalu berbeda antar negara, jadi tidak ada pemeriksaan bawaan; tambahkan pattern kalau kamu butuh.
  • inputmode="numeric" meminta ponsel menampilkan keyboard angka tanpa masalah yang dimiliki type="number", itulah kenapa ini pilihan yang tepat untuk kode pos, kode sekali pakai, dan nomor kartu.

number dan range

Keduanya menerima min, max dan step. number untuk nilai yang pasti; range adalah slider untuk nilai yang angka pastinya kurang penting. Slider range tidak menampilkan angka, jadi pasangkan dengan <output>:

step default-nya 1 untuk number, jadi field harga tanpa step="0.01" akan menolak 4.99 saat form dikirim. Di JavaScript, input.value selalu berupa string; pakai input.valueAsNumber untuk mendapatkan angka.

Tanggal dan jam

Type tanggal dan jam membuka pemilih bawaan browser. Yang dilihat pembaca mengikuti locale mereka (09/24/2026, 24.09.2026), tapi nilainya selalu dalam format tetap yang sama:

Format tetap itulah yang diterima server dan dibaca JavaScript, jadi kamu tidak perlu mem-parse "24.09.2026". min dan max memakai format yang sama. datetime-local tidak punya zona waktu: kalau zona waktu penting, konversikan di server dengan zona waktu pembaca.

color dan file

accept="image/*" membatasi pemilih file hanya untuk gambar (dan menawarkan kamera di ponsel); atribut ini juga menerima ekstensi, seperti accept=".pdf,.docx". Ini hanya petunjuk untuk pemilih file, jadi periksa tipe file-nya di server. multiple mengizinkan beberapa file. Upload sungguhan juga butuh method="post" dan enctype="multipart/form-data" di form.

Saran dengan datalist

<datalist> memberi field teks daftar saran sambil tetap mengizinkan nilai apa pun. Hubungkan keduanya dengan atribut list:

Ketik "ja" di field untuk melihat saran yang cocok. Berbeda dengan select, pembaca bisa mengetik nilai yang tidak ada di daftar.

Atribut yang berlaku di input

AtributFungsinya
nameKunci yang dipakai untuk mengirim nilai
valueNilai awal
placeholderPetunjuk yang muncul saat field kosong (bukan label)
requiredHarus diisi sebelum dikirim
disabledTidak bisa dipakai, dan tidak dikirim
readonlyTidak bisa diedit, tapi tetap dikirim
autocompleteApa yang diisi otomatis: email, name, current-password, one-time-code, off
min, max, stepBatas untuk angka, range, tanggal, dan jam
minlength, maxlengthBatas panjang untuk type teks
patternRegular expression yang harus cocok dengan seluruh nilai
inputmodeKeyboard ponsel yang ditampilkan: numeric, decimal, email, tel, url
listid dari sebuah <datalist>
multipleBeberapa nilai, untuk email dan file
acceptTipe file untuk file

Kesalahan umum

  • type="number" untuk nomor telepon, kode pos, atau nomor kartu. Semua itu bukan jumlah. Pakai tel atau text dengan inputmode="numeric".
  • Field harga tanpa step="0.01". Nilai desimal gagal divalidasi.
  • Memakai placeholder sebagai label. Placeholder hilang begitu pembaca mengetik.
  • Mengandalkan accept atau type="email" untuk keamanan. Keduanya hanya untuk kenyamanan; server memeriksa lagi.
  • type="month" atau type="week" tanpa fallback. Beberapa browser menampilkan field teks biasa.
  • Tag penutup </input>. <input> adalah elemen void.

Pertanyaan yang sering diajukan

Ada berapa type input di HTML?

22: button, checkbox, color, date, datetime-local, email, file, hidden, image, month, number, password, radio, range, reset, search, submit, tel, text, time, url dan week. Type yang tidak dikenal atau tidak ditulis berperilaku sebagai text.

Apa type input default di HTML?

text. <input> tanpa type, atau dengan type yang tidak dikenal browser, adalah field teks satu baris.

Sebaiknya pakai type="number" untuk nomor telepon atau kode pos?

Tidak. number adalah untuk jumlah: type ini menambahkan tombol putar, dan menolak +, spasi, dan tanda hubung yang ada di nomor telepon. Pakai type="tel" untuk nomor telepon, dan type="text" dengan inputmode="numeric" untuk kode seperti kode pos dan nomor kartu.

Format apa yang dipakai input type date?

Nilainya selalu YYYY-MM-DD, seperti 2026-09-24, apa pun format yang dilihat pembaca di layar. Tampilannya mengikuti locale pembaca; nilai yang dikirim dan dibaca script tidak.

Apakah tag input butuh tag penutup?

Tidak. <input> adalah elemen void: tulis <input type="text" name="city">. Tag penutup </input> tidak valid, dan garis miring penutup di <input /> diperbolehkan tapi tidak berpengaruh apa-apa.

Ilustrasi bahasa pemrograman di Coddy

Belajar coding dengan Coddy

Mulai