Обмеження кількості символів у HTML


Відповіді:


133

Є 2 основних рішення:

Чистий HTML:

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

JavaScript (додайте його до події onKey):

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

Але в будь-якому випадку, хорошого рішення немає. Ви не можете пристосуватися до поганої реалізації HTML кожного клієнта, перемогти неможливо. Ось чому набагато краще перевірити це на стороні сервера, за допомогою PHP / Python / будь-якого сценарію.


27
Перевірте на сервері як остаточну перевірку осудності, але додайте покращення на стороні клієнта, якщо можете це зробити; це сприяє збагаченню користувацького досвіду.
Роб

43

є атрибут maxlength

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

1
Це правда, але деякі клієнти цього не перевіряють. Це особливо актуально для клієнтів на базі мобільних телефонів.
Дрейч

Є також способи їх видалення. Наприклад, розширення для веб-розробника Firefox має функцію Видалити максимальну довжину.
Сем Хаслер,

За допомогою chrome та його комплекту для розробників (який постачається з браузером) видалити подібні речі просто в html
AntonioCS

12

На додаток до вищесказаного, я хотів би зазначити, що перевірки на стороні клієнта (HTML-код, javascript тощо) ніколи не буває достатньо. Також перевірте довжину на стороні сервера, або просто не перевіряйте взагалі (якщо це не так важливо, щоб людям дозволяли обійти це, то це не досить важливо, щоб дійсно гарантувати будь-які кроки для запобігання цьому).

Крім того, друзі, він (або вона) сказав HTML, а не XHTML. ;)


я згоден. можна публікувати дані безпосередньо на веб-сайті, використовуючи якийсь інструмент сценаріїв, тому в цьому випадку maxlength та інші перевірки на стороні браузера не є надійними
круїзер

або використовуйте firebug і видаліть атрибут maxlength.
Зак,

5

використовуйте атрибут "maxlength", як сказали інші.

якщо вам потрібно встановити максимальну довжину символу на текстовій області, вам потрібно звернутися до Javascript. Погляньте тут: Як накласти maxlength на textArea у HTML за допомогою JavaScript


перевірити це посилання у StackOverflow: stackoverflow.com/questions/1125482 / ...
TlonXP

1

Для елемента <input> існує атрибут maxlength:

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

(до речі, тип - "текст", а не "текстове поле", як пишуть інші), однак вам доведеться використовувати javascript із <textarea> s. У будь-якому випадку довжину все одно слід перевіряти на сервері.


0

Ви можете встановити максимальну довжину за допомогою jquery, який дуже швидко

jQuery(document).ready(function($){ //fire on DOM ready
 setformfieldsize(jQuery('#comment'), 50, 'charsremain')
})
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.