HTMLの文字制限


回答:


133

2つの主なソリューションがあります。

純粋なHTMLの1つ:

<input type="text" id="Textbox" name="Textbox" maxlength="10" />

JavaScriptの1つ(onKeyイベントにアタッチ):

function limitText(limitField, limitNum) {
    if (limitField.value.length > limitNum) {
        limitField.value = limitField.value.substring(0, limitNum);
    } 
}

しかしとにかく、良い解決策はありません。すべてのクライアントの悪いHTML実装に適応することはできません。勝つことは不可能です。そのため、PHP / Python /その他のスクリプトを使用して、サーバー側で確認する方がはるかに優れています。


27
最終的な健全性チェックとしてサーバーをチェックしますが、可能であればクライアント側の拡張機能を追加します。より豊かなユーザーエクスペリエンスを実現します。
Rob

43

maxlength属性があります

<input type="text" name="textboxname" maxlength="100" />

1
これは本当ですが、一部のクライアントはこれをチェックしません。これは特に携帯電話ベースのクライアントに当てはまります。
Drejc 2008

それらを削除する方法もあります。たとえば、Firefox Web Developer Extensionには、最大長の削除機能があります。
サムハスラー


12

上記に加えて、クライアント側の検証(HTMLコード、JavaScriptなど)では不十分であることを指摘しておきます。また、サーバー側の長さを確認するか、まったく確認しないでください(人々がそれを回避できるほど重要ではない場合は、それを防ぐための手順を保証するだけでも十分重要ではありません)。

また、同氏は、XHTMLではなくHTMLと述べた。;)


同意する。1ので、その場合のmaxlengthは、その他のブラウザ側の検証では万全ではありません、いくつかのスクリプトツールを使用してWebサイトにデータを直接投稿することができます
cruizer

または、firebugを使用してmaxlength属性を削除します。
Zach


1

<input>要素には、maxlength属性があります。

<input type="text" id="Textbox" name="Textbox" maxlength="10" />

(ところで、タイプは「テキスト」であり、他のユーザーが書いている「テキストボックス」ではありません)ただし、<textarea>でJavaScriptを使用する必要があります。いずれにしても、サーバーで長さを確認する必要があります。


0

あなたは非常に速いjqueryでmaxlengthを設定することができます

jQuery(document).ready(function($){ //fire on DOM ready
 setformfieldsize(jQuery('#comment'), 50, 'charsremain')
})
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.