cssでmaxlengthを指定できますか?


回答:


69

いいえ。これはHTMLで行う必要があります。ただし、必要に応じてJavascriptで値を設定できます。


126

番号。

maxlengthは動作用です。

CSSはスタイリング用です。

それが理由です。


また、CSSは、MaxLengthプロパティを持っている意味がありませんので、などのdivまたはIMGに適用され、任意のタグにグローバルに適用することができます
ダン・ディプロ

5
しかし、maxlengthプロパティを一般的な入力タイプのセット(名、都市、州など)に適用し、Webサイトのさまざまな場所にそれらの入力の複数のインスタンスを含めることができる場合はどうでしょうか。クラス(例: 'FirstName')を定義できれば、そのクラスをすべての名入力に適用できます<Input class = "FirstName">
Catchops 2011

@CatchopsこれはHTMLの制限であり、CSSを使用してこれを回避するのは醜いハックです。そのため、ほとんどのWebフレームワークは、カスタムコンポーネントを備えたテンプレートシステムを提供しています。
ガブリエル


6

私はあなたができるとは思いません、そしてCSSはページがどのように見えるかを説明することになっているので、あなたができたとしても、それはあなたがそれをどのように使うべきかではありません。

おそらく、JQueryを使用してフォームコンポーネントに共通の機能を適用することを検討する必要がありますか?



3

CSSではありませんが、JavaScriptを使用して目的の動作をエミュレートおよび拡張/カスタマイズできます。


2

他の人が答えているように、CSSクラスに直接maxlengthを追加する現在の方法はありません。

しかし、この創造的なソリューションはあなたが探しているものを達成することができます。

サイト(ASPの場合はsite.master)で参照するmaxLengths.jsという名前のファイルにjQueryがあります

スニペットを実行して実際の動作を確認してください。うまく機能します。

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" />

これを使用する利点:このタイプのフィールドの最大長をプッシュアウトまたはアプリケーション全体でプッシュする必要があると判断された場合は、1か所で変更できます。顧客コード、氏名フィールド、電子メールフィールド、アプリケーション全体で共通のフィールドなどのフィールド長に便利です。


1
このコードは、複数のフィールドタイプに対して非常に簡単にコピーして貼り付けることができます。「maxLengths.js」という別のjQueryファイルを保持し、それをサイトマスターに含めます。ぜひお試しください。とても便利です!
テイラーブラウン

HTMLクラスを使用しているからといって、CSSではありません。
nyuszika7h 2017年

@ nyuszika7h私の答えに感謝する入力をありがとう。要素にスタイルを適用していない間は、ソリューションでカスケードスタイルシートを使用しているため、CSSが使用されていると主張します。さらに、私はあなたの観察を反映するために私の答えを更新しました。
テイラーブラウン

1

$("input").attr("maxlength", 4) jQueryバージョン<1.6を使用していて、jQueryバージョン1.6以降を使用している場合に使用します$("input").prop("maxLength", 4)

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.