Tôi có thể thay thế thuộc tính maxlength bằng thuộc tính nào đó trong CSS không?
<input type='text' id="phone_extension" maxlength="4" />
Tôi có thể thay thế thuộc tính maxlength bằng thuộc tính nào đó trong CSS không?
<input type='text' id="phone_extension" maxlength="4" />
Câu trả lời:
Không.
maxlength dành cho hành vi.
CSS là để tạo kiểu.
Đó là lý do tại sao.
Bạn có thể sử dụng jQuery như:
$("input").attr("maxlength", 4)
Đây là bản demo: http://jsfiddle.net/TmsXG/13/
Tôi không nghĩ rằng bạn có thể làm được, và CSS được cho là mô tả cách trang trông không giống như những gì nó làm, vì vậy ngay cả khi bạn có thể, nó không thực sự là cách bạn nên sử dụng nó.
Có lẽ bạn nên nghĩ đến việc sử dụng JQuery để áp dụng chức năng chung cho các thành phần biểu mẫu của mình?
Không phải với CSS, nhưng bạn có thể mô phỏng và mở rộng / tùy chỉnh hành vi mong muốn với JavaScript.
Như những người khác đã trả lời, hiện tại không có cách nào để thêm maxlength trực tiếp vào một lớp CSS.
Tuy nhiên, giải pháp sáng tạo này có thể đạt được những gì bạn đang tìm kiếm.
Tôi có jQuery trong một tệp có tên maxLengths.js mà tôi tham chiếu trong trang web (site.master cho ASP)
chạy đoạn mã để xem nó hoạt động, hoạt động tốt.
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" />
Lợi thế của việc sử dụng trường này: nếu nó được quyết định thì độ dài tối đa cho loại trường này cần phải được đẩy ra hoặc trong toàn bộ ứng dụng của bạn, bạn có thể thay đổi nó tại một chỗ. Có ích cho độ dài trường cho những thứ như mã khách hàng, trường tên đầy đủ, trường email, bất kỳ trường nào phổ biến trong ứng dụng của bạn.