Puis-je remplacer l'attribut maxlength par quelque chose en CSS?
<input type='text' id="phone_extension" maxlength="4" />
Puis-je remplacer l'attribut maxlength par quelque chose en CSS?
<input type='text' id="phone_extension" maxlength="4" />
Réponses:
Non.
maxlength est pour le comportement.
CSS est pour le style.
C'est pourquoi.
Vous pouvez utiliser jQuery comme:
$("input").attr("maxlength", 4)
Voici une démo: http://jsfiddle.net/TmsXG/13/
Je ne pense pas que vous le puissiez, et CSS est censé décrire à quoi ressemble la page et non ce qu'elle fait, donc même si vous le pouvez, ce n'est pas vraiment la façon dont vous devriez l'utiliser.
Peut-être devriez-vous penser à utiliser JQuery pour appliquer des fonctionnalités communes à vos composants de formulaire?
Pas avec CSS, mais vous pouvez émuler et étendre / personnaliser le comportement souhaité avec JavaScript.
Comme d'autres l'ont répondu, il n'existe actuellement aucun moyen d'ajouter maxlength directement à une classe CSS.
Cependant, cette solution créative peut réaliser ce que vous recherchez.
J'ai le jQuery dans un fichier nommé maxLengths.js que je référence dans site (site.master pour ASP)
exécutez l'extrait pour le voir en action, fonctionne bien.
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'avantage de l'utiliser: s'il est décidé que la longueur maximale de ce type de champ doit être poussée vers l'extérieur ou vers l'intérieur dans toute votre application, vous pouvez la modifier en un seul endroit. Pratique pour les longueurs de champ pour des éléments tels que les codes client, les champs de nom complet, les champs de courrier électronique, tout champ commun à votre application.