Artikel ini merupakan bagian dari seri Belajar HTML untuk Pemula di hanifmu.com. Setelah memahami form dasar, kita lanjut ke jenis-jenis input yang lebih lengkap.
Textarea: Teks Panjang
<textarea> untuk input teks panjang seperti komentar atau pesan:
<textarea name="pesan" rows="5" cols="40" placeholder="Tulis pesan Anda...">
</textarea>
Attribute:
rows— Jumlah baris yang terlihatcols— Jumlah kolom (lebar)placeholder— Teks bantuan
Select dan Option: Dropdown
<select> membuat dropdown, <option> jadi pilihannya:
<select name="kota">
<option value="">-- Pilih Kota --</option>
<option value="jakarta">Jakarta</option>
<option value="bandung">Bandung</option>
<option value="surabaya">Surabaya</option>
</select>
Option Group
Kelompokkan option dengan <optgroup>:
<select name="makanan">
<optgroup label="Nasi">
<option value="nasi-goreng">Nasi Goreng</option>
<option value="nasi-uduk">Nasi Uduk</option>
</optgroup>
<optgroup label="Mie">
<option value="mie-ayam">Mie Ayam</option>
<option value="mie-goreng">Mie Goreng</option>
</optgroup>
</select>
Radio Button: Pilihan Tunggal
Radio button untuk memilih satu dari beberapa opsi. Semua radio button dalam satu name harus punya value berbeda:
<p>Jenis Kelamin:</p>
<input type="radio" name="gender" value="laki-laki" id="laki-laki" />
<label for="laki-laki">Laki-laki</label>
<input type="radio" name="gender" value="perempuan" id="perempuan" />
<label for="perempuan">Perempuan</label>
Pengguna hanya bisa memilih satu opsi karena semua punya name="gender".
Checkbox: Pilihan Ganda
Checkbox untuk memilih beberapa opsi sekaligus:
<p>Hobi:</p>
<input type="checkbox" name="hobi" value="membaca" id="membaca" />
<label for="membaca">Membaca</label>
<input type="checkbox" name="hobi" value="coding" id="coding" />
<label for="coding">Coding</label>
<input type="checkbox" name="hobi" value="gaming" id="gaming" />
<label for="gaming">Gaming</label>
Pengguna bisa memilih lebih dari satu hobi.
Date, Time, dan DateTime
Input untuk tanggal dan waktu:
<!-- Tanggal -->
<input type="date" name="tanggal_lahir" />
<!-- Waktu -->
<input type="time" name="jam" />
<!-- DateTime Local -->
<input type="datetime-local" name="jadwal" />
<!-- Bulan -->
<input type="month" name="bulan" />
<!-- Minggu -->
<input type="week" name="minggu" />
Color Picker
Input untuk memilih warna:
<input type="color" name="warna_favorit" value="#ff0000" />
File Upload
Input untuk upload file:
<!-- Upload satu file -->
<input type="file" name="foto" />
<!-- Upload multiple file -->
<input type="file" name="dokumen" multiple />
<!-- Upload dengan filter tipe file -->
<input type="file" name="gambar" accept="image/*" />
Range Slider
Input slider untuk memilih nilai dalam rentang tertentu:
<input type="range" name="volume" min="0" max="100" value="50" />
Reset Button
Tombol untuk mengembalikan form ke nilai awal:
<button type="reset">Reset</button>
Contoh Form Lengkap
<!DOCTYPE html>
<html lang="id">
<head>
<meta charset="UTF-8" />
<title>Form Lengkap</title>
</head>
<body>
<h1>Form Pendaftaran</h1>
<form action="/daftar" method="POST">
<div>
<label for="nama">Nama Lengkap:</label><br />
<input type="text" id="nama" name="nama" placeholder="Masukkan nama" required />
</div>
<div>
<label for="email">Email:</label><br />
<input type="email" id="email" name="email" placeholder="Masukkan email" required />
</div>
<div>
<label for="ttl">Tanggal Lahir:</label><br />
<input type="date" id="ttl" name="ttl" required />
</div>
<div>
<label for="jk">Jenis Kelamin:</label><br />
<input type="radio" name="jk" value="laki-laki" id="lk" />
<label for="lk">Laki-laki</label>
<input type="radio" name="jk" value="perempuan" id="pr" />
<label for="pr">Perempuan</label>
</div>
<div>
<label for="kota">Kota:</label><br />
<select name="kota" id="kota">
<option value="">-- Pilih --</option>
<option value="jakarta">Jakarta</option>
<option value="bandung">Bandung</option>
<option value="surabaya">Surabaya</option>
</select>
</div>
<div>
<label>Hobi:</label><br />
<input type="checkbox" name="hobi" value="coding" id="coding" />
<label for="coding">Coding</label>
<input type="checkbox" name="hobi" value="desain" id="desain" />
<label for="desain">Desain</label>
</div>
<div>
<label for="pesan">Pesan:</label><br />
<textarea name="pesan" id="pesan" rows="4" cols="40" placeholder="Tulis pesan..."></textarea>
</div>
<div>
<label for="foto">Foto Profil:</label><br />
<input type="file" name="foto" id="foto" accept="image/*" />
</div>
<div>
<label for="warna">Warna Favorit:</label><br />
<input type="color" name="warna" id="warna" value="#0000ff" />
</div>
<div>
<button type="submit">Daftar</button>
<button type="reset">Reset</button>
</div>
</form>
</body>
</html>
Best Practice Form Input
- Selalu gunakan
<label>yang terhubung dengan input (for=id) - Gunakan
valueyang jelas untuk radio button - Beri
placeholderyang informatif - Gunakan
acceptpada file input untuk membatasi tipe file - Sembunyikan label dengan CSS, bukan dengan menghapus tag label
Ringkasan
<textarea>untuk teks panjang<select>+<option>untuk dropdown- Radio button untuk pilihan tunggal
- Checkbox untuk pilihan ganda
- Input types: date, time, color, file, range
<button type="reset">untuk reset form
Langkah Selanjutnya
Kamu sudah memahami berbagai jenis form input. Artikel selanjutnya membahas form validation, cara memvalidasi input pengguna sebelum dikirim.
