텍스트 상자에 최대 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