Dasar-dasar formulir
Klik kata Email di samping kolom formulir yang dibuat dengan baik, dan kursor langsung melompat ke kotaknya. Detail kecil itu adalah hasil kerja elemen label.
Apa fungsi formulir
Kotak pencarian, halaman pendaftaran, dan layar pembayaran semuanya formulir. Elemen <form> mengelompokkan kontrol, dan saat pengunjung mengirimkannya, browser mengirim name setiap kontrol beserta nilainya ke alamat di atribut action formulir. Atribut method menyatakan caranya: get menaruh data di alamat, cocok untuk pencarian yang mungkin kamu simpan sebagai markah, sedangkan post mengirimnya di badan permintaan, cocok untuk apa pun yang mengubah data, seperti pesanan. HTML membangun formulir; program di server memutuskan apa yang dilakukan terhadap data yang tiba.
<form action="/subscribe" method="post"> <label for="name">Name</label> <input id="name" name="name" type="text" autocomplete="name"> <label for="email">Email</label> <input id="email" name="email" type="email" required autocomplete="email"> <button type="submit">Subscribe</button> </form>
Setiap kontrol memerlukan label
Elemen <label> menamai sebuah kontrol. Hubungkan keduanya dengan memberi input sebuah id dan memberi label atribut for yang sama, atau dengan menaruh input di dalam label. Hubungan ini melakukan dua hal. Pembaca layar membacakan label saat kolom mendapat fokus, sehingga pengguna mendengar Email, edit text, bukan sekadar edit text. Dan mengeklik label memfokuskan kolom atau mencentang kotak centang, yang memberi semua orang, terutama pengguna ponsel, sasaran yang lebih besar. placeholder (teks petunjuk abu-abu di dalam kotak) bukan label: teks itu hilang begitu kamu mengetik, kontrasnya sering rendah, dan sebagian teknologi bantu mengabaikannya.
Jenis input
Atribut type pada <input> mengubah kontrolnya. text adalah kotak satu baris bawaan. email, tel, dan url tampak serupa tetapi menampilkan papan ketik yang sesuai di ponsel, dan browser memeriksa bahwa alamat email berbentuk benar. number menerima angka dan bisa punya min dan max. password menyembunyikan ketikanmu, date menawarkan kalender, serta checkbox dan radio adalah kotak untuk dicentang. Untuk teks yang lebih panjang, pakai <textarea>, dan untuk pilihan dari daftar, <select> dengan elemen <option> di dalamnya.
Mengelompokkan pilihan
Tombol radio yang menjawab satu pertanyaan memakai name yang sama, dan hanya satu yang bisa dipilih dalam satu waktu. Bungkus kelompok itu dengan <fieldset> dan taruh pertanyaannya di <legend>. Pembaca layar lalu membacakan pertanyaan itu bersama setiap pilihan: Loaf size, Small, radio button, 1 of 2. Setiap tombol radio tetap mendapat labelnya sendiri.
Tombol dan pemeriksaan bawaan
<button> di dalam formulir secara bawaan mengirimkan formulir; menulis type="submit" memperjelas hal itu, dan type="button" membuat tombol yang tidak melakukan apa pun sampai JavaScript memberinya tugas. Sebelum mengirim, browser bisa memeriksa kolom untukmu. required menghentikan formulir kalau kolom kosong, type="email" menolak teks tanpa @, serta minlength, min, dan max menetapkan batas. Pemeriksaan ini membantu pengunjung memperbaiki kesalahan lebih awal, tetapi berjalan di browser pengunjung dan bisa dilewati, jadi server harus memeriksa datanya lagi. Atribut autocomplete, dengan nilai seperti email atau name, memungkinkan browser mengisi data yang tersimpan, yang menghemat ketikan bagi semua orang dan terutama membantu orang dengan kesulitan motorik atau daya ingat.
| form | Mengelompokkan kontrol dan mengirim nama serta nilainya |
| label | Menamai kontrol; for sama dengan id input |
| name | Kunci yang dikirim ke server bersama nilainya |
| required | Kolom harus diisi sebelum dikirim |
| fieldset / legend | Mengelompokkan kontrol yang berkaitan di bawah satu pertanyaan |
| placeholder | Teks petunjuk di dalam kotak; bukan label |
| method="post" | Mengirim data di badan permintaan; untuk perubahan seperti pesanan |
- Sebuah label punya for="phone". Milik input yang mana label itu?
- Input dengan id="phone"
- Input dengan name="phone"
- Input berikutnya, apa pun id-nya
- Mengapa placeholder tidak cukup sebagai label?
- Teksnya hilang saat kamu mengetik dan kontrasnya sering rendah
- Bukan HTML yang valid
- Placeholder tidak mengirim apa pun
- Jenis input mana yang menampilkan papan ketik email di ponsel dan memeriksa adanya @?
- Dua tombol radio harus saling meniadakan. Apa yang harus sama pada keduanya?
- name
- id
- value
- Elemen mana yang memuat pertanyaan untuk fieldset?
- legend
- caption
- label
- Metode mana yang cocok untuk formulir pencarian yang mungkin kamu simpan sebagai markah?
- get
- post
- Browser memeriksa kolom yang wajib diisi. Apakah server masih perlu memeriksa?
- Ya, pemeriksaan browser bisa dilewati
- Tidak, browser sudah cukup
- Hanya untuk kata sandi
- Elemen mana yang tepat untuk pesan beberapa baris?
- textarea
- input type="text"
- select
- Apa yang terjadi saat label yang terhubung dengan benar diklik?
- Kolomnya mendapat fokus atau kotaknya tercentang
- Formulir terkirim
- Kolomnya dikosongkan
- Atribut mana yang memungkinkan browser mengisi alamat email yang tersimpan?
- autocomplete="email"
- placeholder="email"
- value="email"
- form mengirim name dan nilai setiap kontrol ke action, dengan get atau post.
- Setiap kontrol mendapat label (for sama dengan id); placeholder bukan label.
- Pilih type yang tepat; kelompokkan radio dengan fieldset dan legend; server memeriksa lagi.
Sumber kursus ini (10)
- WHATWG, HTML Living Standard (html.spec.whatwg.org, checked 2026-10-17)
- MDN Web Docs, Learn web development: Structuring content with HTML, and the HTML element reference (developer.mozilla.org/en-US/docs/Learn_web_development/Core/Structuring_content and developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements, checked 2026-10-17)
- MDN, HTML images (alt text guidance, checked 2026-10-17)
- W3C WAI, Images tutorial and alt decision tree (w3.org/WAI/tutorials/images/decision-tree, checked 2026-10-17)
- CERN, A short history of the Web (home.cern/science/computing/the-birth-of-the-web/short-history-web/, checked 2026-10-17)
- W3C and WHATWG memorandum of understanding, 28 May 2019 (w3.org/2019/04/WHATWG-W3C-MOU.html, checked 2026-10-17)
- W3C, Using ARIA, first rule of ARIA use (w3.org/TR/using-aria/, checked 2026-10-17)
- W3C Markup Validation Service (validator.w3.org, checked 2026-10-17)
- MDN, Viewport meta element (checked 2026-10-17)
- Every code exercise was checked with a Playwright probe against a reference solution.
Diperiksa: 2026-10-17