apakah ada ukuran maksimal untuk panjang input tersembunyi di html?


93

dengan kata lain:

<input type="hidden" value="Can I put as much as I want in here, or is there a limit?" />

dan jika ya, apakah itu?


7
Metode bertanya terbaik yang pernah saya lihat.
Andrés Morales

Jawaban:


60

Itu tergantung pada metode yang Anda gunakan untuk mengirim formulir.

Dengan GET, ada batasan umum yang disepakati sekitar 1-2 kilobyte, tergantung pada batasan browser dan server.

Dengan POST, tidak ada batasan teknis di browser, tetapi biasanya satu di sisi server - lihat misalnya Apache LimitRequestBody, PHP, post_max_sizedan sebagainya.


Berhati-hatilah dengan masalah yang ditunjukkan oleh @naugtur di bawah ini untuk kolom input teks - setidaknya untuk masalah tersebut ada batasan teknis yang diberlakukan oleh browser yang berbeda.
Oliver

Saya baru saja menjalankan beberapa tes pada 3 browser yang agak terkini (IE9, FF 10 ESR, Chrome 24) dan mereka semua mengirimkan nilai input tersembunyi 100KB tanpa masalah. Jadi masalah dengan input teks sepertinya tidak berlaku di sini.
Oliver

bagaimana dengan textareas?
Francisco Corrales Morales

@FranciscoCorralesMorales tidak masalah apa pun jenis kolom inputnya - yang dihitung adalah hasil akhirnya, jumlah semua data yang Anda kirim
Pekka

Saya menemukan bahwa Safari memotong input tersembunyi. Menggunakan textarea memecahkan masalah.
Brendon Muir

29

Peringatan! Saya pernah mengalami masalah <input type="text">ketika teks lebih panjang dari 65535 (ukuran int bertanda tangan maks)

Menempelkan teks tampaknya menyebabkan beberapa konten meluap yang aneh. Terlihat di webkit.

[edit]

Ukuran permintaan GET tidak sepenuhnya terbatas seperti yang ditulis Pekka. Ada batas 2083 byte untuk seluruh string kueri GET address?paramsdi Internet Explorer saja. Di browser lain praktis tidak ada batasan, dengan FireFox mengirimkan kueri GET lebih dari 100 KB misalnya. Jelas server harus mengizinkan itu.

Itu tidak tercakup dalam dokumentasi, jadi seseorang harus mengujinya untuk mengetahui batasan untuk browser lain. YAITU: http://support.microsoft.com/kb/208427


8
+1 Saya telah membuat jsFiddle ini untuk menguji apa yang terjadi ketika Anda menetapkan nilai input ke string yang sangat panjang: jsfiddle.net/3TVPL/6 Saya telah menggunakan string sepanjang 65537 karakter. Dalam pengujian saya, Crome 24.0.1312 dan Safari 5.1.7 untuk Windows keduanya menunjukkan kotak input kosong setelah mengatur nilai ke string itu. Chrome menunjukkan nilai tidak kosong yang tepat jika saya mengurangi string menjadi 65536 karakter. Browser lain (Firefox 17, IE8, IE9, IE10, Opera 12.12) tidak memiliki masalah apa pun bahkan dengan string lebih lama (Saya naik sejauh sekitar string 1.2 Mb)
beluga

@beluga kerja bagus. ada pemikiran tentang kinerja? Pada mesin saya yang lemah itu menunggu lama. Saya rasa itu sebabnya webkit tidak membuat itu.
naugtur

Poin bagus, mungkin. Saya tidak melakukan pengujian kinerja apa pun saat ini. Saya memiliki mesin yang cukup kuat di tempat kerja dan tidak melihat adanya penundaan di salah satu browser.
beluga

Itu membuat FF saya tidak dapat digunakan selama 5 menit. Menempatkan sebanyak ini dalam bidang formulir bukanlah ide yang baik :)
naugtur

Browser seluler dan proxy juga dapat memotong bidang tersembunyi
George Filippakos
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.