jqueryを使用して、編集可能なdiv(またはフォーム入力)の文字数を制限します。 input
タグ入力フィールドの文字数を制限する
<input type="text" maxlength="20" />
jqueryを使用して、編集可能なdiv(またはフォーム入力)の文字数を制限します。 input
タグ入力フィールドの文字数を制限する
<input type="text" maxlength="20" />
すべてのキー操作を確認することができます。あなたはdiv要素を探している場合は、
$(function() {
$ ('#editable_div').keydown (function (e) {
//list of functional/control keys that you want to allow always
var keys = [8, 9, 16, 17, 18, 19, 20, 27, 33, 34, 35, 36, 37, 38, 39, 40, 45, 46, 144, 145];
if($.inArray(e.keyCode, keys) == -1) {
if (checkMaxLength (this.innerHTML, 15)) {
e.preventDefault();
e.stopPropagation();
}
}
});
function checkMaxLength (text, max) {
return (text.length >= max);
}
});
<div id="editable_div" contentEditable="true" onclick="this.contentEditable='true';" >TEXT BEGIN:</div>
編集を次の項目を確認してください:あなたはこの機能をサポートしているブラウザのタブと改行
これは、div contenteditableの代わりに "input"を使用した場合を除き、最大長 – Navarr
メイク使用あなたはjQueryのを利用したい場合は、あなたが何かを自分で書くか、ちょうどそのようなthis oneなどの既存のプラグインを使用することができます。
しかし、私はdku.rajkumarに同意します... maxlength
属性を使用すると何が問題になりますか?
<input type="text" maxlength="15" />
あなたが最大のjQueryのファンなら、これまでけれどもと必死に一度にすべての入力フィールドにmaxlength
を設定したいようなものです:
$(document).ready(function() {
$('input[type="text"]').attr({ maxLength : 15 });
});
ちょうどかかわらず、心に留めておきます何らかの理由でJavaScriptが無効になっている人には、このメソッド(JQueryのメソッド)は機能しません。 input
タグのmaxlength
属性は、すべてのブラウザのすべてのユーザーに機能します。
NICE MAN。 ..:) –
でmaxlength
の
「maxlength」という属性を使用するだけです。入力の属性について詳しくは、w3 input
と入力してみましょう。
あなたは 'maxlength'属性でそれを行うことができますが、 'jQueryを使用する'と言う場合は
の解決策があります。
$('input#limited').attr('maxlength', '3');
またはあなたがMAXLENGTH属性を使用することができ、入力フィールドのためとして、あなたは
$('input#limited').keypress(function() {
/*
check for 3 or greater than 3 characters.
If you check for only greater than 3, then it will let
you write the fourth character because just before writing,
it is not greater than three.
*/
if($(this).val().length >= 3) {
$(this).val($(this).val().slice(0, 3));
return false;
}
});
MAXLENGTHのattribute-を、無視するcheckMaxLength機能を書き換える必要があります。
Javascript - 他の人のために。
<input class="test-input" type="text" maxlength="12" />
<script>
$('.test-input').unbind('keyup change input paste').bind('keyup change input paste',function(e){
var $this = $(this);
var val = $this.val();
var valLength = val.length;
var maxCount = $this.attr('maxlength');
if(valLength>maxCount){
$this.val($this.val().substring(0,maxCount));
}
});
</script>
これは私が考えるあなたのために働く必要があります。
HTML
<input type="text" name="myText" id="myText" data-maxlength="10" />
jQueryのフォーム入力のためにMAXLENGTHと間違って何
$('#myText').keyup(validateMaxLength);
function validateMaxLength()
{
var text = $(this).val();
var maxlength = $(this).data('maxlength');
if(maxlength > 0)
{
$(this).val(text.substr(0, maxlength));
}
}
素敵なオリジナル! :) – RicardoE
? – stivlo
投稿を見る http://stackoverflow.com/questions/2867479/limiting-number-of-characters-in-a-contenteditable-div – Parham
@stivlo b/cその編集可能なdiv – Firdous