テキストボックスに最大5文字のみを入力するようにユーザーを制限または制限するにはどうすればよいですか?
以下は、フォームの一部としての入力フィールドです。
<input type="text" id="sessionNo" name="sessionNum" />
maxSizeのようなものを使用していますか、それともそのようなものですか?
テキストボックスに最大5文字のみを入力するようにユーザーを制限または制限するにはどうすればよいですか?
以下は、フォームの一部としての入力フィールドです。
<input type="text" id="sessionNo" name="sessionNum" />
maxSizeのようなものを使用していますか、それともそのようなものですか?
回答:
入力として受け入れられる最大文字数。これはSIZEで指定された値よりも大きくすることができます。その場合、フィールドは適切にスクロールされます。デフォルトは無制限です。
<input type="text" maxlength="2" id="sessionNo" name="sessionNum" onkeypress="return isNumberKey(event)" />
ただし、これはハンドラーの影響を受ける場合とされない場合があります。長さをテストするために、別のハンドラー関数を使用または追加する必要がある場合もあります。
pattern
属性を使用して検証メッセージをポップアップすることもできます。stackoverflow.com/questions/10281962/…を
ヘッダーに以下を追加します。
<script language="javascript" type="text/javascript">
function limitText(limitField, limitNum) {
if (limitField.value.length > limitNum) {
limitField.value = limitField.value.substring(0, limitNum);
}
}
</script>
<input type="text" id="sessionNo" name="sessionNum" onKeyDown="limitText(this,5);"
onKeyUp="limitText(this,5);"" />
this.form.sessionNo
少し疑わしいようです。なぜthis
ですか?また、limitCount
とlimitNum
もオーダー/不要でアウトに見えますか?
this.form.sessionNo
まだ正しくないようです。this
そのコンテキストでは、input
ではなくを指しdocument
ます。
form
。どちらも参照していません。this
は、あなたが必要とすることすべてです。また、技術的にはform
、によって要素を参照したい場合、それは(form
/ input
)name
ではなくid
、によって、つまり次のようになりdocument.formName.sessionNum
ます。
w3cによると、MAXLENGTH属性のデフォルト値は無制限です。したがって、最大値を指定しない場合、ユーザーは聖書を数回カットアンドペーストしてフォームに貼り付けることができます。
MAXLENGTHを適切な数に指定した場合でも、処理する前にサーバー上で送信されたデータの長さを再確認してください(phpやaspなどを使用して)。基本的なMAXLENGTH制限を回避するのは非常に簡単です。
シンプルにする
<input type="text" maxlength="3" />
アラートを使用して、最大文字数が使用されたことを示します。
私はいつもこのようにします:
$(document).ready(function(){
var maxChars = $("#sessionNum");
var max_length = maxChars.attr('maxlength');
if (max_length > 0) {
maxChars.bind('keyup', function(e){
length = new Number(maxChars.val().length);
counter = max_length-length;
$("#sessionNum_counter").text(counter);
});
}
});
入力:
<input name="sessionNum" id="sessionNum" maxlength="5" type="text">
Number of chars: <span id="sessionNum_counter">5</span>
最大長
入力として受け入れられる最大文字数。maxlength属性は、要素で許可される最大文字数を指定します。
<form action="/action_page.php">
Username: <input type="text" name="usrname" maxlength="5"><br>
<input type="submit" value="Submit">
</form>
<input type="number" id="xxx" name="xxx" oninput="maxLengthCheck(this)" maxlength="10">
function maxLengthCheck(object) {
if (object.value.length > object.maxLength)
object.value = object.value.slice(0, object.maxLength)
}
次のコードには、カウントされた...
var count = 1;
do {
function count_down(obj, count){
let element = document.getElementById('count'+ count);
element.innerHTML = 80 - obj.value.length;
if(80 - obj.value.length < 5){
element.style.color = "firebrick";
}else{
element.style.color = "#333";
}
}
count++;
} while (count < 20);
.text-input {
padding: 8px 16px;
width: 50%;
margin-bottom: 5px;
margin-top: 10px;
font-size: 20px;
font-weight: 700;
font-family: Raleway;
border: 1px solid dodgerblue;
}
<p><input placeholder="Title" id="bike-input-title" onkeyup="count_down(this, 3)" maxlength="80" class="text-input" name="bikeTitle" ></p>
<span id="count3" style="float: right; font-family: Raleway; font-size:20px; font-weight:600; margin-top:-5px;">80</span><br>
<input type="text" name="MobileNumber" id="MobileNumber" maxlength="10" onkeypress="checkNumber(event);" placeholder="MobileNumber">
<script>
function checkNumber(key) {
console.log(key);
var inputNumber = document.querySelector("#MobileNumber").value;
if(key.key >= 0 && key.key <= 9) {
inputNumber += key.key;
}
else {
key.preventDefault();
}
}
</script>
<input type="text" maxlength="5">
ライブデモ: jsfiddle.net/mcBbW/1