2012-10-30 4 views
2

나는 숫자 만이 텍스트 상자에 입력 할 수있는 양식을, 또는 경고가 나타납니다자바 스크립트, 텍스트 필드의 문자 수 제한

<script> 
function chkSubmit() 
{ 
    if(isNaN(document.formName.txtNumber.value)) 
    { 
     alert('Please input numbers only.'); 
     return false; 
    } 
}</script> 
다음 자바 스크립트와

<form name="formName" action="" method="post" OnSubmit="return chkSubmit();"> 
    Input Number 
    <input type="text" name="txtNumber" value=""> 
    <input type="submit" name="btnSubmit" value="Submit"> 
</form> 

어떻게 4 자만 입력 할 수 있습니까? 경고가 표시되지 않고 사용자가 4 자 이상을 입력하지 못하도록합니다.

+1

사용자에 대한 짜증나. 양식이 제출 될 때 해당 필드가 유효하다는 것에 만 관심이 있습니다. 그 전에 양식에 들어있는 것은 무엇이든간에 관심이 없습니다. – RobG

답변

5

input 요소 지원 maxlength attribute, 예컨대 다음 : 사용자의 에이전트 (브라우저)에 의해 수행된다

<input type="text" name="txtNumber" value="" maxlength="4"> 

.... value 속성의 길이를 확인하여 벨트 및 중괄호 접근 방식을 원할 경우 chkSubmit에 적용 할 수도 있지만 영원히 계속되어 왔고이를 처리하지 못하는 사용자 에이전트를 찾을 수 있을지는 의문입니다.

RobG의 요점 (질문에 대한 의견)도 잘 나와 있습니다. 양식 제출에 앞서 사용자를 제한하는 것은 그 (것)들을 자극하는 경향이 있습니다. 그것은 당신의 유스 케이스에는 적절할 수도 있지만 그렇지 않을 수도 있습니다. (아마도 keypress 이벤트를 사용하여 약간의 시각적 피드백을 주겠지 만) 제한적으로 고려해야하며, 스택 오버 플로우가 댓글에 대해하는 방식 인 유효 기간 만 제출하십시오. 그런 식으로 입력을 제한

+0

1

사용 최대 길이

<form name="formName" action="" method="post" OnSubmit="return chkSubmit();"> 
    <input type="text" name="txtNumber" maxlength="4" value="" /> 
    <input type="submit" name="btnSubmit" value="Submit" /> 
</form>