Membentuk atribut secara mendalam

Atribut elemen HTML dapat meningkatkan <form> dan kontrol formulir Anda.

Membantu pengguna mengisi kontrol formulir

Untuk memudahkan pengguna mengisi formulir, gunakan atribut type yang sesuai untuk elemen <input> Anda.

Browser menampilkan antarmuka pengguna yang sesuai untuk type, seperti pemilih tanggal untuk <input> jenis date. Browser di perangkat seluler menampilkan keyboard virtual yang disesuaikan, seperti keypad nomor telepon untuk type="tel".

Beberapa jenis <input> juga mengubah aturan validasi untuk elemen saat formulirnya dikirimkan. Misalnya, <input type="url"> hanya valid jika tidak kosong dan nilainya adalah URL.

Memastikan pengguna memasukkan data

Ada atribut berbeda untuk menyediakan keyboard virtual yang sesuai di perangkat sentuh. Opsi pertama adalah menggunakan atribut type, seperti yang disebutkan di atas.

Opsi lainnya adalah atribut inputmode yang didukung di Android dan iOS. Berbeda dengan atribut type, atribut inputmode hanya mengubah keyboard virtual yang disediakan, bukan perilaku elemen itu sendiri. Menggunakan inputmode adalah opsi yang bagus jika Anda ingin mempertahankan antarmuka pengguna default dan aturan validasi default <input>, tetapi masih menginginkan keyboard virtual yang dioptimalkan.

Dua screenshot ponsel Android, menunjukkan keyboard yang sesuai untuk memasukkan alamat email (menggunakan type=email) dan untuk memasukkan nomor telepon (dengan type=tel).

Anda dapat mengubah tombol Enter di keyboard virtual dengan atribut enterkeyhint. Misalnya, enterkeyhint="next" atau enterkeyhint="done" mengubah label tombol menjadi ikon yang sesuai. Hal ini membantu memperjelas bagi pengguna apa yang terjadi saat mereka mengirimkan formulir saat ini.

Dua screenshot formulir alamat di Android yang menunjukkan bagaimana atribut input enterkeyhint mengubah ikon tombol enter.

Memastikan pengguna dapat mengirimkan formulir

Misalnya, Anda mengisi <form>, klik tombol Submit, tetapi tidak ada yang terjadi. Masalahnya mungkin tombol telah dinonaktifkan dengan atribut disabled. Ini adalah pola umum untuk menonaktifkan tombol Submit hingga formulir valid.

Secara teori, hal ini terdengar masuk akal, tetapi Anda sebaiknya tidak menonaktifkan tombol Submit saat menunggu input pengguna yang lengkap dan valid. Sebagai gantinya, tandai data yang tidak valid saat dimasukkan, dan sorot kolom bermasalah kepada pengguna saat mereka mengirimkan formulir.

Namun, Anda dapat menonaktifkan tombol Kirim setelah formulir berhasil dikirim, tetapi belum diproses. Pelajari lebih lanjut tombol yang dinonaktifkan.

Membantu pengguna dengan menampilkan data yang sebelumnya mereka masukkan

Bayangkan Anda memiliki formulir checkout dengan beberapa langkah. Bagaimana Anda memastikan nilai yang dimasukkan sebelumnya masih ada saat pengguna kembali ke langkah sebelumnya? Gunakan atribut value untuk menampilkan nilai yang telah diselesaikan.

<label for="name">Name</label>
<input value="Hilda" name="name" id="name" type="text">

Ada beberapa cara untuk mengambil nilai kontrol formulir di JavaScript. Anda dapat menggunakan properti value, atau Anda dapat mengakses nilai dengan getAttribute('value'). Ada satu perbedaan besar, properti value selalu menampilkan nilai saat ini, dan penggunaan getAttribute() akan selalu menampilkan nilai awal.

Cobalah! Ubah teks kolom nama dan lihat konsol. Perhatikan bagaimana properti value menampilkan teks yang saat ini terlihat, sedangkan getAttribute('value') selalu menampilkan nilai awal.

Pelajari lebih lanjut perbedaan antara atribut DOM dan properti DOM.

Untuk elemen <input> jenis checkbox atau radio, gunakan atribut checked. Tambahkan jika pengguna memilih opsi dan hapus sebaliknya.

Pastikan pengguna memahami format yang diharapkan

Nilai atribut placeholder merupakan petunjuk untuk jenis informasi yang diharapkan.

<label for="name">Name</label>
<input type="text" name="name" id="name" placeholder="Karin">

Hal ini mungkin membingungkan pengguna, karena mungkin terlihat tidak logis mengapa kontrol formulir tampaknya sudah diisi otomatis. Selain itu, menambahkan placeholder dapat menyulitkan untuk melihat kolom formulir mana yang masih harus diisi. Selain itu, gaya default teks {i>placeholder<i} mungkin sulit dibaca.

Secara umum, berhati-hatilah saat menggunakan atribut placeholder dan jangan pernah menggunakan atribut placeholder untuk menjelaskan kontrol formulir. Sebagai gantinya, gunakan elemen <label>. Pelajari lebih lanjut alasan Anda harus mempertimbangkan untuk menghindari atribut placeholder.

Cara yang lebih baik untuk memberikan petunjuk kepada pengguna tentang jenis informasi yang diharapkan adalah menggunakan elemen HTML tambahan di bawah kontrol formulir untuk menambahkan penjelasan atau contoh.

Pastikan kontrol formulir siap untuk divalidasi

Ada berbagai atribut HTML yang tersedia untuk mengaktifkan validasi bawaan. Gunakan atribut required untuk mencegah pengiriman kolom kosong. Validasi tambahan dapat diterapkan dengan atribut type. Misalnya, nilai <input> yang diperlukan sebesar type="url" harus berupa URL.

Untuk memastikan pengguna memasukkan jumlah karakter minimum, gunakan atribut minlength. Untuk melarang nilai apa pun yang memiliki jumlah karakter melebihi batas, gunakan atribut maxlength. Untuk jenis input numerik seperti <input type="number">, gunakan atribut min dan max sebagai gantinya.

Cari tahu lebih lanjut tentang validasi: Bantu pengguna memasukkan data yang benar dalam formulir.

Menguji pemahaman Anda

Uji pengetahuan Anda tentang atribut bentuk

Atribut apa yang dapat Anda gunakan untuk mengubah label tombol Enter di keyboard virtual?

enterkey
Coba lagi.
enterkeyhint
🎉
enterkeytext
Coba lagi.
enterkeylabel
Coba lagi.

Apa perbedaan antara properti value dan getAttribute('value')?

Properti value menampilkan nilai saat ini, getAttribute('value') menampilkan nilai awal.
🎉
Properti value menampilkan nilai awal, getAttribute('value') menampilkan nilai saat ini.
Coba lagi.
Tidak ada perbedaan.
Coba lagi.
Properti value menampilkan kunci dan nilai, getAttribute('value') hanya menampilkan nilai.
Coba lagi.

Referensi