Posso substituir o atributo maxlength por algo em CSS?
<input type='text' id="phone_extension" maxlength="4" />
Posso substituir o atributo maxlength por algo em CSS?
<input type='text' id="phone_extension" maxlength="4" />
Respostas:
Não.
maxlength é para comportamento.
CSS é para estilização.
É por isso que.
Você pode usar o jQuery como:
$("input").attr("maxlength", 4)
Aqui está uma demonstração: http://jsfiddle.net/TmsXG/13/
Não com CSS, mas você pode emular e estender / personalizar o comportamento desejado com JavaScript.
Como outros responderam, não há uma maneira atual de adicionar maxlength diretamente a uma classe CSS.
No entanto, esta solução criativa pode alcançar o que você procura.
Eu tenho o jQuery em um arquivo chamado maxLengths.js que faço referência no site (site.master para ASP)
execute o snippet para vê-lo em ação, funciona bem.
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" />
A vantagem de usar isso: se for decidido que o comprimento máximo para esse tipo de campo precisa ser empurrado para fora ou para dentro em todo o aplicativo, você pode alterá-lo em um local. É útil para comprimentos de campo para coisas como códigos de cliente, campos de nome completo, campos de e-mail, qualquer campo comum em seu aplicativo.