Saya hanya ingin tahu apa yang Anda pikirkan tentang DIV-tag di dalam FORM-tag?
Saya butuh sesuatu seperti ini:
<form>
<input type="text"/>
<div> some </div>
<div> another </div>
<input type="text" />
</form>
Apakah ini praktik umum untuk digunakan DIV
di dalam FORM
atau saya memerlukan sesuatu yang berbeda?
html
semantic-markup
demas
sumber
sumber
Benar-benar dapat diterima untuk menggunakan DIV di dalam
<form>
tag.Jika Anda melihat stylesheet CSS 2.1 default ,
div
danp
keduanya berada dalamdisplay: block
kategori. Kemudian melihat spesifikasi HTML 4.01 untuk elemen formulir, mereka tidak hanya menyertakan<p>
tag, tetapi juga<table>
tag, jadi tentu saja<div>
akan memenuhi kriteria yang sama. Ada juga<legend>
tag di dalam formulir di dokumentasi.Misalnya, berikut ini melewati validasi HTML4 dalam mode ketat:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <META http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>Test</title> </head> <body> <form id="test" action="test.php"> <div> Test: <input name="blah" value="test" type="text"> </div> </form> </body> </html>
sumber
Anda dapat menggunakan a
<div>
dalam formulir - tidak ada masalah di sana .... TAPI jika Anda akan menggunakan<div>
sebagai label untukinput
jangan ...label
adalah opsi yang jauh lebih baik:<label for="myInput">My Label</label> <input type="textbox" name="MyInput" value="" />
sumber
Salah jika memiliki <input> sebagai turunan langsung dari <form>
Dan omong-omong <input / > mungkin gagal pada beberapa doctype
Periksa dengan http://validator.w3.org/check
jenis dokumen tidak mengizinkan elemen "INPUT" di sini; kehilangan salah satu tag awal "P", "H1", "H2", "H3", "H4", "H5", "H6", "PRE", "DIV", "ADDRESS"
<input type = "text" />
Elemen yang disebutkan tidak diizinkan untuk muncul dalam konteks tempat Anda meletakkannya; elemen lain yang disebutkan adalah satu-satunya yang diizinkan di sana dan dapat berisi elemen yang disebutkan. Ini mungkin berarti bahwa Anda membutuhkan elemen penampung, atau mungkin Anda lupa menutup elemen sebelumnya.
Satu kemungkinan penyebab untuk pesan ini adalah Anda mencoba untuk meletakkan elemen level blok (seperti "<p>" atau "<table>") di dalam elemen inline (seperti "<a>", "<span> ", atau" <font> ").
sumber
Pertanyaan Anda tidak membahas apa yang ingin Anda masukkan ke dalam tag DIV, yang mungkin menjadi alasan mengapa Anda menerima beberapa jawaban yang tidak lengkap / salah. Yang benar adalah bahwa Anda dapat, seperti yang dikatakan Royi, meletakkan tag DIV di dalam formulir Anda. Anda tidak ingin melakukan ini untuk label, misalnya, tetapi jika Anda memiliki formulir dengan sekumpulan kotak centang yang ingin Anda susun menjadi tiga kolom, gunakan tag DIV (atau SPAN, HEADER, dll. .) untuk mencapai tampilan dan nuansa yang ingin Anda capai.
sumber
Juga DIV - MDN
Anda dapat menggunakan div inside form, jika Anda berbicara tentang menggunakan div daripada tabel, maka google tentang desain web Tableless
sumber
Seperti yang dikatakan orang lain, semuanya baik-baik saja, Anda bisa melakukannya dengan baik. Bagi saya pribadi, saya mencoba mempertahankan bentuk struktur hierarki dengan elemen saya dengan
div
menjadi elemen induk terluar. Saya mencoba menggunakan hanyatable
p
ul
danspan
di dalam formulir. Hanya mempermudah saya untuk melacak hubungan orang tua / anak di dalam halaman web saya .sumber
Saya perhatikan bahwa setiap kali saya memulai tag formulir di dalam div, saudara div berikutnya tidak akan menjadi bagian dari formulir saat saya memeriksa (chrome inspect) untuk selanjutnya, formulir saya tidak akan pernah dikirim.
<div> <form> <input name='1st input'/> </div> <div> <input name='2nd input'/> </div> <input type='submit'/> </form>
Saya pikir jika saya meletakkan tag formulir di luar DIV, itu akan berhasil. Tag formulir harus ditempatkan di awal DIV induk. Seperti yang ditunjukkan di bawah ini.
<form> <div> <input name='1st input'/> </div> <div> <input name='2nd input'/> </div> <input type='submit'/> </form>
sumber
Benar-benar tidak! Ini akan merender, tetapi tidak akan memvalidasi. Gunakan label.
Itu tidak benar. Itu tidak dapat diakses. Anda melihatnya di beberapa situs web karena beberapa pengembang hanya malas. Saat saya merekrut pengembang, ini adalah salah satu hal pertama yang saya periksa dalam pekerjaan kandidat. Bentuknya buruk, tapi luangkan waktu dan pelajari cara melakukannya dengan benar
sumber
Tidak, tidak
<div>
tag selalu disalahgunakan untuk membuat tata letak web. Tujuan simbolisnya adalah untuk membagi bagian / bagian di halaman sehingga gaya terpisah dapat ditambahkan atau diterapkan padanya. [Dokumen w3sekolah] [W3C]Ini sangat tergantung pada apa yang Anda
some
dananother
miliki.HTML5, memiliki lebih banyak tag makna logis, daripada memiliki tag tata letak biasa. The
section
,header
,nav
,aside
semuanya memiliki makna semantik mereka sendiri untuk itu. Dan digunakan untuk melawan<div>
sumber
<select>
cocok sempurna jika pilihan yang diberikan, jika tidak<a>
atau<buttons>
baik.