Außerdem kann CSS global auf jedes Tag angewendet werden, sodass es nicht sinnvoll wäre, eine Maxlength-Eigenschaft auf ein Div oder Img usw. anzuwenden.
Dan Diplo
5
Was aber, wenn Sie eine Maxlength-Eigenschaft auf einen allgemeinen Satz von Eingabetypen (z. B. Vorname, Stadt, Bundesland) anwenden möchten und mehrere Instanzen dieser Eingaben an verschiedenen Stellen über die Website haben können? Es wäre großartig, eine Klasse definieren zu können (z. B. 'Vorname') und sie wenden diese Klasse auf alle Eingaben mit Vornamen an <Input class = "FirstName">
Catchops
@Catchops Das ist eine Einschränkung von HTML, und die Verwendung von CSS, um dies zu umgehen, wäre ein hässlicher Hack. Aus diesem Grund bieten die meisten Webframeworks ein Vorlagensystem mit benutzerdefinierten Komponenten.
Ich glaube nicht, dass Sie das können, und CSS soll beschreiben, wie die Seite aussieht und nicht, was sie tut. Selbst wenn Sie könnten, ist es nicht wirklich so, wie Sie sie verwenden sollten.
Vielleicht sollten Sie darüber nachdenken, JQuery zu verwenden, um allgemeine Funktionen auf Ihre Formularkomponenten anzuwenden?
Wie andere geantwortet haben, gibt es derzeit keine Möglichkeit, einer CSS-Klasse die maximale Länge direkt hinzuzufügen.
Mit dieser kreativen Lösung können Sie jedoch das erreichen, wonach Sie suchen.
Ich habe die jQuery in einer Datei namens maxLengths.js, auf die ich in site verweise (site.master für ASP).
Führen Sie das Snippet aus, um es in Aktion zu sehen. Funktioniert gut.
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 */returnfalse;}else{returntrue;}});});
.maxLenAddress1{}/* this is here mostly for intellisense usage, but can be altered if you like */
Der Vorteil dieser Verwendung: Wenn entschieden wird, dass die maximale Länge für diesen Feldtyp in Ihrer gesamten Anwendung heraus- oder hineingeschoben werden muss, können Sie sie an einer Stelle ändern. Dies ist praktisch für Feldlängen wie Kundencodes, vollständige Namensfelder, E-Mail-Felder und alle Felder, die in Ihrer Anwendung häufig verwendet werden.
Dieser Code ist sehr einfach zu kopieren und für mehrere Feldtypen einzufügen. Ich behalte eine separate jQuery-Datei mit dem Namen "maxLengths.js" und füge diese in meinen Site-Master ein. Probieren Sie es aus, es ist sehr praktisch!
Taylor Brown
Nur weil Sie eine HTML-Klasse verwenden, handelt es sich nicht um CSS.
Nyuszika7h
@ nyuszika7h danke für deinen geschätzten Beitrag zu meiner Antwort. Ich würde argumentieren, während ich keinen Stil auf das Element anwende, ich verwende immer noch ein kaskadierendes Stylesheet in meiner Lösung, daher wird CSS verwendet. Außerdem habe ich meine Antwort aktualisiert, um Ihre Beobachtung widerzuspiegeln.
Taylor Brown
1
Verwenden $("input").attr("maxlength", 4)
Sie diese $("input").prop("maxLength", 4)
Option, wenn Sie jQuery Version <1.6 verwenden und wenn Sie jQuery Version 1.6+ verwenden.
Sie können jQuery wie folgt verwenden:
Hier ist eine Demo: http://jsfiddle.net/TmsXG/13/
quelle
Ich glaube nicht, dass Sie das können, und CSS soll beschreiben, wie die Seite aussieht und nicht, was sie tut. Selbst wenn Sie könnten, ist es nicht wirklich so, wie Sie sie verwenden sollten.
Vielleicht sollten Sie darüber nachdenken, JQuery zu verwenden, um allgemeine Funktionen auf Ihre Formularkomponenten anzuwenden?
quelle
Nicht mit CSS, nein.
quelle
Nicht mit CSS, aber Sie können das gewünschte Verhalten mit JavaScript emulieren und erweitern / anpassen.
quelle
Wie andere geantwortet haben, gibt es derzeit keine Möglichkeit, einer CSS-Klasse die maximale Länge direkt hinzuzufügen.
Mit dieser kreativen Lösung können Sie jedoch das erreichen, wonach Sie suchen.
Ich habe die jQuery in einer Datei namens maxLengths.js, auf die ich in site verweise (site.master für ASP).
Führen Sie das Snippet aus, um es in Aktion zu sehen. Funktioniert gut.
jquery, css, html:
Der Vorteil dieser Verwendung: Wenn entschieden wird, dass die maximale Länge für diesen Feldtyp in Ihrer gesamten Anwendung heraus- oder hineingeschoben werden muss, können Sie sie an einer Stelle ändern. Dies ist praktisch für Feldlängen wie Kundencodes, vollständige Namensfelder, E-Mail-Felder und alle Felder, die in Ihrer Anwendung häufig verwendet werden.
quelle
Verwenden
$("input").attr("maxlength", 4)
Sie diese$("input").prop("maxLength", 4)
Option, wenn Sie jQuery Version <1.6 verwenden und wenn Sie jQuery Version 1.6+ verwenden.quelle