HTML入力要素にはmaxlength属性があり、maxlengthより長いテキストの入力を防ぎます。入力ボックスにテキストを貼り付けるときに、テキストがmaxlengthより長い場合、maxlengthの正確な長さに切り捨てられます。テキストが切り捨てられたかどうかはどうすればわかりますか?
ありがとう。
HTML入力要素にはmaxlength属性があり、maxlengthより長いテキストの入力を防ぎます。入力ボックスにテキストを貼り付けるときに、テキストがmaxlengthより長い場合、maxlengthの正確な長さに切り捨てられます。テキストが切り捨てられたかどうかはどうすればわかりますか?
ありがとう。
input要素の値の長さがその要素のmaxlengthと同じであるかどうかを知りたい場合は、次のようにすることができます(JQueryを使用)。
var $el = $("#myInputElement")
var l = $el.val().length;
var ms = $el.attr("maxlength");
var m = parseInt(ms, 10);
// at this point m and l are maxlength and actual length
ただし、これは切り捨てられた値と同じではなく、単にその正確な長さである可能性があります。
最大長に達した後もユーザーがまだ書き込みを行っているかどうかを知りたい場合は、キーアップイベントを調べて、入力がフォーカスされているかどうかを確認できます。ただし、クリップボードを入力と比較するには、Flashを使用する必要がある場合があります。
要するに、良い解決策はありません。