Beranda / MATERI / HTML | | 2 menit baca

Fitur Baru Form HTML5

Pembaruan Form di HTML5

HTML5 memperkenalkan banyak tipe input baru, atribut validasi bawaan, dan elemen pendukung yang memudahkan pembuatan formulir interaktif tanpa ketergantungan berlebih pada JavaScript.


1. Tipe Input Baru HTML5

Tipe input baru memberikan keyboard virtual yang sesuai di HP/Smartphone (seperti keyboard angka untuk input tel atau @ untuk input email).

<!-- Input Email (Otomatis memvalidasi format email) -->
<label for="email">Email:</label>
<input type="email" id="email" name="email">

<!-- Input Tanggal (Memunculkan Datepicker bawaan browser) -->
<label for="tgl">Tanggal Lahir:</label>
<input type="date" id="tgl" name="tgl_lahir">

<!-- Input Angka dengan Batas Minimal dan Maksimal -->
<label for="umur">Umur (18-60):</label>
<input type="number" id="umur" name="umur" min="18" max="60" step="1">

<!-- Input Warna (Memunculkan Color Picker) -->
<label for="warna">Warna Favorit:</label>
<input type="color" id="warna" name="warna_favorit" value="#0ea5e9">

<!-- Input Range (Slider) -->
<label for="volume">Volume (0-100):</label>
<input type="range" id="volume" name="volume" min="0" max="100" value="50">

<!-- Input URL (Memvalidasi format alamat web) -->
<label for="website">Website:</label>
<input type="url" id="website" name="website" placeholder="https://example.com">

<!-- Input Telepon -->
<label for="hp">No HP:</label>
<input type="tel" id="hp" name="hp">

2. Atribut Validasi Bawaan HTML5

Dahulu, validasi form harus menggunakan JavaScript. HTML5 menyediakan atribut validasi bawaan browser:

Atribut Fungsi
required Memaksa lapangan input wajib diisi sebelum form dikirim
placeholder Teks petunjuk sementara di dalam kolom input
autofocus Kursor otomatis aktif pada input tersebut saat halaman terbuka
pattern Validasi input menggunakan ekspresi reguler (Regex)
autocomplete Mengaktifkan/mematikan saran otomatis (on / off)
multiple Mengizinkan pengguna memilih lebih dari 1 file/email

Contoh penggunaan:

<form action="/daftar" method="POST">
    <label for="username">Username:</label>
    <input type="text" id="username" name="username" required placeholder="Minimal 5 karakter" autofocus>

    <label for="nim">NIM (8 Digit Angka):</label>
    <input type="text" id="nim" name="nim" required pattern="[0-9]{8}" title="NIM harus terdiri dari 8 angka">

    <button type="submit">Daftar</button>
</form>

3. Elemen Elemen Tambahan HTML5

Elemen <datalist> (Autocomplete Pilihan)

Menyediakan rekomendasi pilihan saat pengguna mengetik, namun pengguna tetap dapat menginput teks lain secara bebas.

<label for="browser">Browser Favorit Anda:</label>
<input list="browsers" name="browser" id="browser">

<datalist id="browsers">
    <option value="Chrome">
    <option value="Firefox">
    <option value="Edge">
    <option value="Safari">
    <option value="Brave">
</datalist>

Elemen <progress>

Menampilkan indikator status kemajuan (progress bar).

<label for="file-progress">Unduhan File:</label>
<progress id="file-progress" value="70" max="100">70%</progress>
Penulis
Angga Saputra

ANGGA SAPUTRA Penulis

@makloheker

Lihat Profil

Komentar & Diskusi

Status: Terbuka