2009-09-01 47 views

Trả lời

56

Không. Điều này cần được thực hiện trong HTML. Bạn có thể đặt giá trị bằng Javascript nếu bạn cần.

4

Không có CSS, không.

108

No.

maxlength là dành cho hành vi.

CSS là để tạo kiểu.

Đó là lý do.

+0

Ngoài ra, CSS có thể được áp dụng globaly cho bất kỳ thẻ nào, vì vậy sẽ không có ý nghĩa khi có thuộc tính maxlength được áp dụng cho div hoặc img v.v. –

+3

Nhưng điều gì sẽ xảy ra nếu bạn muốn áp dụng thuộc tính maxlength cho một tập hợp chung các kiểu đầu vào (ví dụ: tên, thành phố, tiểu bang) và bạn có thể có nhiều phiên bản của các đầu vào đó ở những nơi khác nhau thông qua trang web. Thật tuyệt vời khi có thể xác định một lớp (ví dụ:'FirstName') và họ áp dụng lớp đó cho tất cả Tên đầu vào đầu vào Catchops

6

Tôi không nghĩ rằng bạn có thể, và CSS là nghĩa vụ phải mô tả cách trang trông không phải những gì nó làm, vì vậy ngay cả khi bạn có thể, nó không thực sự làm thế nào bạn nên sử dụng nó.

Có lẽ bạn nên suy nghĩ về 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 bạn?

3

Không có CSS, nhưng bạn có thể mô phỏng và mở rộng/tùy chỉnh hành vi mong muốn bằng JavaScript.

0

Sử dụng $("input").attr("maxlength", 4) nếu bạn đang sử dụng phiên bản jQuery < 1,6 và $("input").prop("maxLength", 4) nếu bạn đang sử dụng jQuery phiên bản 1.6 +.

2

Khi người khác đã trả lời, không có cách nào hiện tại để 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 file có tên maxLengths.js mà tôi tham khảo tại trang web (Site.Master cho ASP)

chạy đoạn mã để xem nó trong hành độ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" />

Ưu điểm của việc sử dụng này: nếu nó được quyết định độ dài tối đa cho loại lĩnh vực cần được đẩy ra ngoài hoặc ở trên của bạn toàn bộ ứng dụng bạn có thể thay đổi nó ở 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 trên ứng dụng của bạn.

+1

Mã này rất dễ sao chép và dán cho nhiều loại trường. Tôi giữ một tệp jQuery riêng biệt được gọi là "maxLengths.js" và bao gồm trong trang chủ của tôi. Hãy thử nó ra, nó rất tiện lợi! –

+0

Chỉ vì bạn sử dụng một lớp HTML, nó không phải là CSS. – nyuszika7h

+0

@ nyuszika7h cảm ơn bạn đã đánh giá cao đầu vào của bạn trên câu trả lời của tôi. tôi sẽ tranh luận trong khi tôi không áp dụng bất kỳ phong cách cho các yếu tố, tôi vẫn đang sử dụng một tờ phong cách xếp tầng trong giải pháp của tôi, do đó CSS ​​đang được sử dụng. ngoài ra tôi đã cập nhật câu trả lời của tôi để phản ánh quan sát của bạn. –

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