0
jqueryを使用するテキストフィールドに入力できる文字数を制限するにはどうすればよいですか?テキストエリアを指すのではなく、通常のテキスト入力フィールドです。私はIOS5を使用してiPadを介してフォームを表示していますが、何らかの理由でmaxlength属性が無視されます。 maxlength = 10を使用した場合、このフィールドには永遠に入力できますが、10文字で停止しません。だから、フィールドを制限するためにjqueryが必要になるようです。助言がありますか?Jquery - テキスト入力でテキストを制限する、テキストエリアではない
更新
maxedisonからの例とマルク・Bからの提案を使用して、これは私が思い付いたコードが働いている:
$('#textfld','#textform').keyup(function() {
if($(this).val().length > 20) {
var text = $(this).val().substring(0,20);
$(this).val(text);
}
});
これはsomeo文字列が最大長であれば、文字を削除できません。キーアップをチェックし、フィールドの値が上限を超えている場合は9文字の部分文字列で置き換えてください。 –
良い点。 IF文を変更して、バックスペースと削除キーを許可しました。 keyupの使用は素晴らしいオプションではありません。キーが入力されてから削除されるからです。私の解決策が今扱わない1つの状況は、誰かが長い文字列でコピー&ペーストしようとする場合です。これは、 'e'プロパティのmetaKey値がtrueの場合に文字の入力を禁止し、右クリックを無効にすることで解決できます。しかし、私はそれがすべて遠すぎると思うので、フォームを送信する前に単に値をチェックし、問題がある場合にはユーザーに警告する方がよいでしょう。 – maxedison