Setiap elemen form dalam suatu halaman web harus memiliki atribut name, yang digunakan sebagai pengenal dari nama elemen tersebut. Setiap data yang dimasukkan ke dalam elemen form, akan dikirimkan kepada server.
Browser web akan mengirimkan data dari form ke server dengan mengacu kepada name dari elemen. Browser akan mengambil semua data dari elemen input yang memiliki atribut name. Jika suatu input tidak memiliki name, maka data yang ada dalam elemen input tersebut tidak dikirimkan kepada server.
Untuk membuktikan bahwa data dalam elemen input yang tidak memiliki atribut name tidak akan dikirim ke server, maka form entri berikut dapat dicoba.
<html>
<head>
<title>Uji Kirim Data Tanpa Atribut Name</title>
</head>
<body>
<h3>Form Uji Kirim Data Ke Server</h3>
Pengujian tanpa menggunakan atribut name pada elemen input.
<form action=”<?echo $_SERVER[‘PHP_SELF’]?>” method=”get”>
Nama : <input type=”text” name=”nama” />
Alamat : <input type=”text”/>
<input type=”submit” value=”Kirim”/>
</form>
</body>
</html>
Method yang digunakan adalah ‘get’, dengan sengaja digunakan, untuk dapat melihat secara langsung, kita tidak perlu membuat aplikasi tambahan untuk memroses data. Mengapa? Karena dengan method get, kita dapat secara langsung melihat proses pengiriman data pada alamat URL dari browser.
Isikan data nama dan alamat, kemudian klik tombol Kirim. Perhatikan pada alamat URL dari browser. Kita akan melihat bahwa hanya elemen dengan name adalah nama yang dikirimkan datanya. Sedangkan isian alamat, tidak dikirimkan.
Dalam standardisasi masa kini, maka setiap elemen dalam dokumen HTML bisa memiliki sebuah atribut yang dikenal dengan id. Atribut ini dikenalkan sejak konsep DOM (Document Object Model) ditetapkan menjadi standar dari struktur dokumen HTML. Setiap dokumen HTML diharapkan memiliki standar yang mengikuti aturan DOM. Jadi setiap dokumen HTML disarankan untuk dibuat dengan menggunakan definisi tag pembuka adalah <html> dan penutup </html>. Tidak lagi bebas tanpa ada tag pembuka dan penutup. Kebebasan dari struktur dokumen, diawali pada saat pemrograman web mulai berkembang.
Tetapi pada dewasa ini, saat aplikasi berbasis web menjadi alternatif utama, maka halam web yang dihasilkan tidak sekedar dinamis dari sisi content saja, tetapi juga harus dinamik dari sisi manipulasi elemen dalam dokumen itu sendiri.
Dengan adanya DOM, maka setiap elemen HTML dapat dimanipulasi, sehingga pengembang dapat membuat halaman web menjadi seperti aplikasi biasa, aplikasi berbasis antarmuka grafis (GUI). Atribut id, memiliki peran sangat penting, untuk dapat memanipulasi elemen HTML secara individual.
Atribut id dapat juga diterapkan pada elemen input dari form. Dengan adanya atribut id ini, maka jika pengembang menggunakan JavaScript, pengembang dapat dengan mudah untuk mengakses dan memanipulasi setiap individu elemen input.
Atribut id tidak menggantikan atribut name, walaupun secara harfiah menunjukkan hal yang sama, yaitu pengenal (atau nama) dari elemen.
Suatu elemen input dalam form yang memiliki atribut id, tetapi tidak memiliki atribut name, akan tetap dianggap sebagai elemen input yang tidak memiliki name. Akibatnya adalah, jika ada elemen input tanpa name, walaupun memiliki id, datanya tidak akan dikirim ke server.
Kemudian apa kegunaan atribut id itu sendiri, berkaitan dengan keberadaannya dalam elemen input dalam form?
Selain kegunaan untuk memudahkan manipulasi elemen input di sisi browser, dengan menggunakan JavaScript. Atribut id akan terasa menjadi sangat dibutuhkan, apabila kita menggunakan elemen label, untuk mendefinisikan prompt dari suatu elemen input.
Dengan adanya id kita bisa mendefinisikan hubungan antara label dan input. Misal elemen input nama di atas memiliki prompt Nama. Jika kita tidak menggunakan label dan tidak menggunakan id pada elemen form, maka kita tidak dapat menghubungkan antara label dan input.
Contoh nyata dari hubungan antara label dan input adalah pada aplikasi berbasis windows, apabila kita mengklik suatu prompt (label) dari suatu input, maka kursor akan otomatis berada pada elemen input. Dengan adanya label ini juga, kita dapat memberikan sebuah ‘shortcut key’ untuk suatu elemen input, kita bisa mengisikan penekanan kombinasi tombol keyboard untuk bisa langsung menuju elemen input yang diinginkan.
Berikut adalah contoh penggunaan label dan hubungannya dengan id:
<html>
<head>
<title>Uji Kirim Data Tanpa Atribut Name</title>
</head>
<body>
<h3>Form Uji Kirim Data Ke Server</h3>
Pengujian tanpa menggunakan atribut name pada elemen input.
<form action=”<?echo $_SERVER[‘PHP_SELF’]?>” method=”get”>
Nama : <input type=”text” name=”nama” />
Alamat : <input type=”text”/>
<label for=”notelp”>No Telp</label><input type=”text” id=”notelp” />
<input type=”submit” value=”Kirim”/>
</form>
</body>
</html>
Jika form di atas telah ditampilkan, maka jika kita klik tulisan/prompt No telp, maka kursor akan otomatis berada pada elemen notelp.
Tetapi jika kita klik tombol Kirim, maka hanya nama yang dikirimkan, karena elemen input yang lain tidak memiliki atribut name.