2012-11-20 12 views
6

Powiel możliwe:
Can I specify maxlength in css?Jak ograniczyć długość tekstu wejściowego za pomocą CSS3?

W moim CSS używam tego kodu, aby okrągłe granice dla wszystkich tagów wejściowych w moim miejscu. Zastanawiam się, czy jest możliwe, aby ograniczyć długość wejścia w taki sam sposób (na przykład 50 znaków)

input 
{ 
border-radius: 10px; 
-moz-border-radius: 10px; 
-khtml-border-radius: 10px; 
-webkit-border-radius: 10px; 
} 

mogę sobie wyobrazić coś takiego (to nie działa):

input 
{ 
max-lenght: 50; 
} 

Wszelkie sugestie ? Dziękuję Ci bardzo!

EDIT: To pytanie jest o ile znaków można użytkownik napisać w tej dziedzinie, nie widzialny rozmiar wejścia

+0

Przez HTML? http://www.w3schools.com/tags/att_input_maxlength.asp – Vucko

+0

Cóż, przypuszczam, że dzieje się tak dlatego, że ograniczenie 'maxlength' jest semantyczne, a nie reprezentacyjne, jest określone jako atrybut HTML, a nie jako reguła CSS. – raina77ow

+0

w css używasz ':' zamiast '=' – zeyorama

Odpowiedz

13

Nie można użyć CSS do ograniczenia liczby wprowadzanych znaków. Byłoby to ograniczenie funkcjonalne, a CSS zajmuje się prezentacją.

10

bym sobie limit znaków w polu tekstowym html. na przykład

<input type="text" id="textbox" name="textbox" maxlength="50" /> 
+0

tak, ale mam ich dużo i zastanawiałem się nad "automatycznym" sposobem :) – yenssen

+0

mógłbyś zadać sobie trud napisania JavaScriptu, aby ograniczyć liczbę wprowadzanych znaków do pola wejściowego. Będziesz musiał powiązać zdarzenie "keydown" w polu wejściowym, zliczaj znaki, a jeśli jest ich więcej niż 50, uniemożliwić zapisanie znaku w polu wejściowym – jfmbrennan

+0

spróbuj tego ... http: // jsfiddle. net/mKcgn/ – jfmbrennan

1

Aktualizacja:

Można używać tylko jQuery.

$(document).ready(function() { 
    $("input").attr('maxlength', '5');  
}); 

Jeśli naprawdę chcesz automatycznej metody można użyć kombinacji CSS i JavaScript.

JavaScript/jQuery

$(document).ready(function() { 
    // Get all the elements with class inputMaxLength and add maxlength attribute to them 
    $(".inputMaxLength").attr('maxlength', '5');  
}); 

CSS

.inputMaxLength 
{ 

} 

HTML

<input type="text" id="textbox" class="inputMaxLength" name="textbox" /> 

bit hack, ale działa. Na ile mi wiadomo, nie ma rozwiązania opartego tylko na CSS.

Powiązane problemy