2010-10-19 44 views
10

bất cứ ai có thể giúp tôi với chiều dài ký tự tối đa có thể được chứa trong một hộp văn bản HTML bình thường ....độ dài tối đa của html textbox là gì

+2

Tại sao bạn hỏi? Các câu hỏi như thế này thường là một lá cờ có vấn đề về thiết kế. – RedFilter

+1

bạn phải là người gửi spam, tôi chưa bao giờ hết các ký tự trong hộp văn bản HTML trừ khi trang web áp đặt các hạn chế bổ sung bằng cách sử dụng Javascript –

+0

Tôi biết đây là một chủ đề cũ nhưng hôm nay tôi đã nghiên cứu vấn đề này vì lý do chính đáng. Nền tảng thương mại điện tử Magento là một phần mềm mạnh mẽ và tuyệt vời. Tuy nhiên nó có một vài đoạn mã kỳ quặc. Một trong những điều kỳ quặc này là trong danh sách lựa chọn và sắp xếp sản phẩm khi quản lý một danh mục. Có một trường ẩn với danh sách các sản phẩm và thứ tự sắp xếp được phân tách bằng dấu chấm phẩy.Một ngàn sản phẩm dễ dàng vượt quá độ dài trường tối đa gây ra lỗi gây phiền nhiễu. Đây rõ ràng là một vấn đề thiết kế, nhưng nó giúp biết những giới hạn này cho mục đích gỡ lỗi. – Alex

Trả lời

21

Về phía HTML, khi thuộc tính maxlength không được chỉ định, thì độ dài tối đa của giá trị nhập không giới hạn. Tuy nhiên, nếu bạn gửi yêu cầu dưới dạng GET thay vì POST, thì giới hạn sẽ phụ thuộc vào trình duyệt web và máy chủ web được sử dụng. Đặc tả HTTP 1.1 thậm chí cảnh báo về vấn đề này, đây là một trích chapter 3.2.1:

Lưu ý: Máy chủ phải thận trọng về tùy thuộc vào URI độ dài trên 255 byte, bởi vì một số khách hàng lớn tuổi hoặc proxy triển khai có thể không đúng cách hỗ trợ những độ dài này.

Đối với các webbrowsers, giới hạn thực tế là trong Firefox khoảng 8KB, trong Opera về 4KB và trong IE và Safari khoảng 2KB. Vì vậy, tổng chiều dài của tất cả các đầu vào không được vượt quá điều này nếu bạn muốn xử lý thành công. Đối với máy chủ web, hầu hết có giới hạn cấu hình là 8KB. Khi vượt quá giới hạn, nó sẽ chỉ bị cắt ngắn, nhưng một số máy chủ web có thể gửi HTTP 414 error.

Khi bạn gửi yêu cầu dưới dạng POST, thì giới hạn tùy thuộc vào cấu hình máy chủ. Thường là khoảng 2GB. Khi nó vượt quá, máy chủ sẽ thường trả về HTTP 500 error.

4

Mặc định maxlength là không giới hạn cho một <input type='text'/>. Bạn có thể tùy chọn cung cấp giá trị này để hạn chế đầu vào (nhưng không có người guarentees trình duyệt sẽ thông báo quy tắc này).

A <textarea> không hỗ trợ maxlength để ký tự không giới hạn được chấp nhận cho đầu vào.

(ref: http://www.w3.org/MarkUp/HTMLPlus/htmlplus_41.html)

RE: chuỗi dài phá vỡ trong quá trình nộp

Có thể có kích thước tối đa với lượng ngày được gửi từ một form khi sử dụng phương pháp get (mặc định nếu không được chỉ định). Nó chỉ có thể vì nhiều trình duyệt cho phép nhiều ký tự hơn bây giờ. Nếu bạn sử dụng form với phương pháp post, thì không có tối đa số lượng dữ liệu được gửi.

+1

Textarea không hỗ trợ thuộc tính này. Bạn sẽ phải mang một số JS vào. – BalusC

+0

cảm ơn vì thông tin tôi chỉ muốn biết liệu có giới hạn cho hộp văn bản hay không, tức là nếu tôi vượt qua một chuỗi dài qua nó, tôi không muốn chuỗi bị phá vỡ do độ dài không đủ – deepu

+0

@BalusC đúng là ... tôi sẽ nói lại. – Rudu

1

Trong HTML4, the maxlength attribute chỉ được hỗ trợ trên phần tử input. HTML5 mở rộng này để cho phép nó on textarea as well. A quick test hoạt động trong Firefox 4 và WebKit, chứ không phải Firefox 3 hoặc Opera. Nếu bạn cần hỗ trợ cho HTML4, hãy sử dụng JavaScript để giới hạn độ dài theo cách thủ công.

Các vấn đề liên quan