Чи можу я замінити атрибут maxlength чимось у CSS?
<input type='text' id="phone_extension" maxlength="4" />
Чи можу я замінити атрибут maxlength чимось у CSS?
<input type='text' id="phone_extension" maxlength="4" />
Відповіді:
Немає.
maxlength - для поведінки.
CSS призначений для стилізації.
Ось чому.
Ви можете використовувати jQuery, наприклад:
$("input").attr("maxlength", 4)
Ось демо: http://jsfiddle.net/TmsXG/13/
Я не думаю, що ви можете, і CSS повинен описати, як сторінка виглядає не тим, що вона робить, тому навіть якщо б ви могли, це насправді не так, як ви мали б використовувати її.
Можливо, вам слід подумати про використання JQuery для застосування загальної функціональності до компонентів форми?
Не з CSS, але ви можете емулювати та розширювати / налаштовувати бажану поведінку за допомогою JavaScript.
Як відповіли інші, наразі не існує способу додавання maxlength безпосередньо до класу CSS.
Однак за допомогою цього креативного рішення можна досягти того, що ви шукаєте.
У мене є jQuery у файлі з ім'ям maxLengths.js, на який я посилаюся на сайті (site.master для ASP)
запустіть фрагмент, щоб побачити його в дії, працює добре.
jquery, css, html:
$(function () {
$(".maxLenAddress1").keypress(function (event) {
if ($(this).val().length == 5) { /* obv 5 is too small for an address field, just want to use as an example though */
return false;
} else {
return true;
}
});
});
.maxLenAddress1{} /* this is here mostly for intellisense usage, but can be altered if you like */
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<input type="text" class="maxLenAddress1" />
Перевага використання цього: якщо вирішено, що максимальну довжину для цього типу поля потрібно виштовхувати або вводити у всій програмі, ви можете змінити її в одному місці. Дуже зручно для довжини полів для таких речей, як коди клієнтів, поля з повним іменем, поля електронної пошти, будь-яке поле, загальне для вашої програми.