Giới hạn ký tự trong HTML


Câu trả lời:


133

Có 2 giải pháp chính:

HTML thuần túy:

<input type="text" id="Textbox" name="Textbox" maxlength="10" />

JavaScript (đính kèm nó vào Sự kiện onKey):

function limitText(limitField, limitNum) {
    if (limitField.value.length > limitNum) {
        limitField.value = limitField.value.substring(0, limitNum);
    } 
}

Nhưng dù sao thì cũng không có giải pháp tốt. Bạn không thể thích ứng với việc triển khai HTML không tốt của mọi khách hàng, đó là một cuộc chiến không thể giành chiến thắng. Đó là lý do tại sao tốt hơn nhiều là bạn nên kiểm tra nó ở phía máy chủ, bằng PHP / Python / bất kỳ tập lệnh nào.


27
Kiểm tra trên máy chủ như một lần kiểm tra sự tỉnh táo cuối cùng, nhưng hãy thêm tính năng nâng cao phía máy khách nếu bạn có thể làm như vậy; nó làm cho trải nghiệm người dùng phong phú hơn.
Rob

43

có một thuộc tính maxlength

<input type="text" name="textboxname" maxlength="100" />

1
Điều này đúng, nhưng một số khách hàng không kiểm tra điều này. Điều này hoàn toàn đúng đối với khách hàng sử dụng điện thoại di động.
Drejc 22/09/08

Cũng có nhiều cách để loại bỏ chúng. Ví dụ: Tiện ích mở rộng dành cho nhà phát triển web của Firefox có chức năng Xóa độ dài tối đa.
Sam Hasler

Với chrome và nó bộ phát triển (mà đi kèm với trình duyệt) nó đơn giản để loại bỏ những việc như vậy trong html
AntonioCS

12

Ngoài những điều trên, tôi muốn chỉ ra rằng xác thực phía máy khách (mã HTML, javascript, v.v.) không bao giờ là đủ. Ngoài ra, hãy kiểm tra độ dài phía máy chủ hoặc hoàn toàn không kiểm tra (nếu điều đó không quan trọng đến mức mọi người có thể được phép sử dụng nó, thì nó cũng không đủ quan trọng để thực sự đảm bảo bất kỳ bước nào để ngăn chặn điều đó).

Ngoài ra, các nghiên cứu sinh, anh ấy (hoặc cô ấy) nói HTML, không phải XHTML. ;)


tôi đồng ý. ai có thể gửi dữ liệu trực tiếp vào một trang web sử dụng một số công cụ scripting, vì vậy trong trường hợp đó maxlength và kiểm chứng thực trình duyệt phía bên kia là không đơn giản
cruizer

hoặc sử dụng firebug và loại bỏ thuộc tính maxlength.
Zach


1

Đối với phần tử <input>, có thuộc tính maxlength:

<input type="text" id="Textbox" name="Textbox" maxlength="10" />

(nhân tiện, kiểu là "văn bản", không phải "hộp văn bản" như những người khác đang viết), tuy nhiên, bạn phải sử dụng javascript với <textareosystem s. Dù bằng cách nào thì độ dài cũng nên được kiểm tra trên máy chủ.


0

bạn có thể đặt maxlength bằng jquery rất nhanh

jQuery(document).ready(function($){ //fire on DOM ready
 setformfieldsize(jQuery('#comment'), 50, 'charsremain')
})
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.