Form wizard adalah antarmuka pengguna yang memecah satu formulir panjang menjadi beberapa layar atau langkah yang lebih kecil. Setiap langkah menampilkan sebagian data yang perlu diisi, kemudian pengguna menekan Berikutnya untuk melanjutkan ke tahap selanjutnya. Pendekatan ini memudahkan pengguna memahami dan menyelesaikan proses yang kompleks, sekaligus memberi kesempatan bagi aplikasi untuk melakukan validasi pada tiap bagian.
- Data Diri
- Alamat
- Pembayaran
- Konfirmasi
Berikut contoh script ringan yang mengatur pergantian langkah dan validasi sederhana.
document.addEventListener('DOMContentLoaded', function(){ const steps = document.querySelectorAll('.step'); const nextBtn = document.querySelector('.next'); const prevBtn = document.querySelector('.prev'); const finishBtn = document.querySelector('.finish'); let current = 0; function showStep(index){ steps.forEach((s,i)=>s.classList.toggle('active', i===index)); document.querySelectorAll('.wizard-steps li') .forEach((li,i)=>li.classList.toggle('active', i===index)); prevBtn.style.display = index===0 ? 'none' : 'inline-block'; nextBtn.style.display = index===steps.length-1 ? 'none' : 'inline-block'; finishBtn.style.display = index===steps.length-1 ? 'inline-block' : 'none'; } function validateStep(){ // contoh validasi sederhana: semua input required tidak boleh kosong const inputs = steps[current].querySelectorAll('input[required]'); for(let input of inputs){ if(!input.value.trim()){ alert('Harap isi semua field yang wajib.'); input.focus(); return false; } } return true; } nextBtn.addEventListener('click',()=>{ if(validateStep()){ current++; showStep(current); } }); prevBtn.addEventListener('click',()=>{ current--; showStep(current); }); // submit akhir document.getElementById('wizardForm').addEventListener('submit', e=>{ e.preventDefault(); if(validateStep()){ alert('Form selesai dikirim!'); // kirim data ke server di sini } }); showStep(current);}); Jika proses wizard memakan waktu lama atau melibatkan banyak data, pertimbangkan salah satu cara berikut:
Langkah 1: Informasi akun (email, password).
Langkah 2: Data pribadi (nama, tanggal lahir).
Langkah 3: Verifikasi (captcha, kode OTP).
Langkah 4: Ringkasan & konfirmasi.
Langkah 1: Alamat pengiriman.
Langkah 2: Metode pengiriman.
Langkah 3: Pembayaran.
Langkah 4: Review order.
Langkah 1: Data pemohon.
Langkah 2: Riwayat pekerjaan.
Langkah 3: Dokumen pendukung (upload).
Langkah 4: Persetujuan akhir.
Form wizard adalah solusi yang efektif untuk menyederhanakan pengisian data yang kompleks. Dengan memecah proses menjadi beberapa langkah terstruktur, pengguna dapat fokus pada satu bagian pada satu waktu, sekaligus meminimalkan tingkat kesalahan. Implementasi yang baik memerlukan perencanaan UI/UX, validasi yang tepat, serta strategi penyimpanan data yang aman. Dengan mengikuti panduan di atas, Anda dapat menciptakan wizard yang intuitif, responsif, dan meningkatkan konversi pada aplikasi web Anda.
