HTML & CSS untuk pemula

HTML & CSS untuk Pemula (Bagian 17): Formulir (5)

Semua video tutorial

Fungsi autoselesai sekarang menjadi fitur yang disukai di internet. Jika Anda mengetik sesuatu di dalam kolom formulir, browser akan menawarkan daftar saran kata - jika fungsi tersebut diaktifkan dan didukung oleh browser -.

<input type="text" autocomplete="on" />

Dengan nilai on, autoselesai diaktifkan untuk kolom tersebut. Mulai sekarang, browser akan mengingat nilai-nilai yang dimasukkan ke dalam kolom dan menawarkannya kemudian dalam bentuk daftar pilihan. Dengan cara ini, formulir dapat diisi dengan lebih cepat.

Sekarang, perilaku ini tidak diinginkan pada setiap kolom. Dalam kasus-kasus seperti itu, autoselesai dapat dinonaktifkan secara eksplisit. Untuk melakukan hal ini, berikan atribut autocomplete nilai off.

<input type="text" autocomplete="off" />

Sebagai alternatif, Anda juga dapat menambahkan atribut autocomplete ke elemen form. Tergantung pada apakah nilai on atau off

<form autocomplete="on">
..
</form>

Jika ada pengaturan yang berlawanan di dalam formulir, pengaturan tersebut akan berlaku.

<form autocomplete="on">
   Nama: <input type="text" name="nama_depan" autocomplete="off" /><br />
   Nama Belakang: <input type="text" name="nama_belakang" /><br />
   Kode Pos: <input type="text" name="kode_pos" /><br />
   Kota: <input type="text" name="kota" />
</form>

Dalam contoh ini, fitur autoselesai akan diterapkan pada semua kolom formulir, karena nilai atribut autocomplete dari elemen form diatur sebagai on. Pengecualian hanya berlaku untuk kolom nama_depan. Karena pada kolom ini, autoselesai dinonaktifkan dengan cara eksplisit.

Untuk fitur autoselesai berfungsi, fitur ini harus didukung oleh browser tertentu dan tidak boleh dinonaktifkan. Selain itu, daftar nilai yang ditampilkan hanya menampilkan nilai-nilai yang sebelumnya sudah pernah dimasukkan sebelumnya.

Agar benar-benar dapat memengaruhi nilai dalam daftar saran, HTML5 memperkenalkan elemen datalist. Elemen ini tidak menghasilkan tampilan yang terlihat di browser. Nilai-nilai untuk daftar saran dapat ditentukan melalui elemen-elemen option yang ada di bawahnya. Berikut adalah contoh:

<div>
Bahasa:
<br />
<input type="text" autocomplete="on" list="bahasa" />
</div>
<datalist id="bahasa">
   <option value="HTML5"></option>
   <option value="XHTML"></option>
   <option value="PHP"></option>
   <option value="JavaScript"></option>
</datalist>

Terhubungkan logis antara kolom input dan elemen datalist melalui atribut list dari elemen input. Untuk itu, nilai yang digunakan harus sama antara atribut list dan atribut id dari elemen datalist.

Atur Fokus

Fokus dapat secara otomatis diberikan kepada sebuah kolom formulir ketika halaman dimuat. Fungsi ini biasanya Anda kenali dari halaman beranda Google. Ketika halaman tersebut dimuat, Anda bisa langsung memasukkan kata kunci pencarian tanpa perlu menempatkan kursor secara manual di dalam kolom pencarian.

HTML5 memiliki atribut autofocus untuk kasus-kasus seperti ini. Atribut ini menyebabkan kolom formulir yang diberi atribut tersebut akan secara otomatis meraih fokus ketika halaman dimuat.

Contoh:

<form>
  <input name="kolom_cari" autofocus="autofocus" />
  <input type="submit" value="Cari" />
</form>

Browser yang tidak mengenal atribut autofocus akan mengabaikannya. Hal ini tidak memberikan dampak negatif. (Namun tentu saja, dalam hal ini kolom tidak akan difokuskan).

Verifikasi Masukan

Hingga saat ini, masukan formulir tidak dapat diverifikasi hanya dengan bantuan HTML. Jika Anda ingin memeriksa apakah pengguna benar-benar telah memasukkan alamat email ke dalam kolom formulir, biasanya menggunakan JavaScript atau PHP. Dalam HTML5, "jongkok" semacam itu sudah tidak perlu lagi. Karena mulai sekarang, HTML sudah memiliki API validasi. Fitur ini sangat memudahkan dalam memverifikasi masukan formulir dengan usaha yang sangat sedikit.

HTML5 memiliki beberapa aturan yang menentukan cara validasi bidang dilakukan. Misalnya, kolom input dengan tipe email akan dicek apakah alamat email yang ditulis memenuhi syarat secara sintaksis.

url - Diperiksa untuk URL

email - Diperiksa untuk alamat email

range - Diperiksa untuk angka desimal

number - Diperiksa untuk angka desimal

Untuk menandai suatu kolom sebagai kolom wajib diisi, berikan atribut required padanya.

<input id="vname" name="vname" type="text" required="required" />



Suatu bidang yang ditandai dengan ini harus diisi, sehingga tidak boleh kosong.

Namun perhatian: Untuk validasi bidang, beberapa persyaratan tertentu harus dipenuhi.

• Elemen harus diberi atribut nama name.

• Elemen harus berada di dalam elemen form, artinya berada dalam formulir HTML. Sebagai alternatif, koneksi ke formulir juga dapat dibuat melalui atribut form.

• Elemen tidak boleh memiliki atribut readonly atau disabled.

Penerapan yang tepat akan menjadi seperti ini:

<form action="form.php">
    <input id="vname" name="vname" type="text" required="required" />
    <input type="submit" />
 </form>



Di sini browser akan memeriksa apakah bidang sudah diisi. Jika bidang kosong dan masih mencoba mengirimkan formulir, maka browser seharusnya memberikan pesan kesalahan.

HTML & CSS untuk Pemula (Bagian 17): Formulir (5)

Di sepanjang seri ini, telah dijelaskan beberapa kali tentang jenis bidang formulir email, range, number, tel dan url. Bidang-bidang ini tidak hanya diperiksa apakah mengandung nilai, tetapi juga apakah nilai yang dimasukkan benar.

<form action="form.php">
    <input id="email" name="email" type="email" />
    <input type="submit" />
 </form>



Pada bidang dengan jenis email, misalnya, akan diperiksa apakah nilai yang dimasukkan benar-benar alamat email yang benar secara sintaksis. Jika tidak demikian, browser akan memberikan pesan kesalahan.

HTML & CSS untuk pemula (Bagian 17): Formulir (5)



Browser bertanggung jawab atas penampilan pesan kesalahan.

Persyaratan Validasi Tidak Otomatis

Tidak selalu validasi otomatis dari input diinginkan. Jika ingin mencegah validasi formulir secara keseluruhan, maka atribut novalidate ditambahkan ke elemen form.

<form action="form.php" novalidate>
    <input id="email" name="email" type="email" />
    <input type="submit" />
 </form>



Sebagai alternatif, atribut formnovalidate dapat ditambahkan ke tombol Kirim. Ini bermanfaat misalnya ketika bersamaan dengan tombol Kirim, terdapat tombol untuk menyimpan formulir sementara.

<form action="form.cgi" method="post">
    <input id="email" name="email" type="email" />
    <input type="submit" name="submit" value="Kirim" />
    <input type="submit" 
    formnovalidate="formnovalidate"  value="Simpan" />
    <input type="submit" 
    formnovalidate="formnovalidate" value="Keluar" />
 </form>



Dalam kasus ini, formulir hanya akan divalidasi melalui tombol Kirim pertama. Sementara itu, dua tombol lainnya digunakan untuk Simpan dan Keluar sehingga tidak memerlukan validasi.