그러냐

html5 | input type number maxlength 설정 ( 모바일 ) / oninput, max, min 출처: http://cofs.tistory.com/215 [CofS] 본문

html

html5 | input type number maxlength 설정 ( 모바일 ) / oninput, max, min 출처: http://cofs.tistory.com/215 [CofS]

관절분리 2017. 3. 29. 11:54
반응형

html5 input type number maxlength 설정 ( 모바일 )에 대해서 알아본다.

 

input 에는 maxlength 속성이 있다.

 

이는 value 속성의 값을 maxlength 속성 값 이하로 제한하는 것이다.

 

 

대부분 아래와 같이 사용한다.

 

1
<input type="text" name="inputBox" maxlength="10">
cs

 

 

그런데 type="number" 에서는 maxlength 속성이 먹히지 않았다.

 

1
<input type="number" name="inputBox" maxlength="10">
cs

위 코드 실행 시 maxlength 가 적용되지 않음

 

 

그래서 이유를 찾아보다 다음과 같은 정보를 발견했다.

 

 

[이미지1]

[이미지1] 에서 알 수 있듯이 number 키워드 사용 시 maxlength 를 사용할 수 없다.

 

 

 

 * number 키워드에서 maxlength 를 대체할 방법 중 2가지

 

 

 

1. oninput 이벤트를 사용하여 별도의 스크립트로 처리

* oninput 이벤트는 html5에서 추가된 이벤트로 데이터를 입력받았을 경우 발생된다.

  onchange 함수와는 차이가 있다.

  oninput 이벤트 참고 : http://www.w3ii.com/en-US/tags/ev_oninput.html

 

사용방법 ( maxlength="10" 과 같은 효과 )

html

1
<input type="number" name="inputBox" maxlength="10" oninput="maxLengthCheck(this)">
cs

javascript

1
2
3
4
5
function maxLengthCheck(object){
    if (object.value.length > object.maxLength){
        object.value = object.value.slice(0, object.maxLength);
    }    
}
cs

* 태그 object 에서 maxlength 속성을 가져와서 script 로 직접 잘라주는 방법이다.

 

 

 

2. max, min 속성을 이용하여 처리

number 키워드 사용시 사용가능한 max, min 속성이 있다.

[이미지2]

[이미지2] 에서 보듯이 max, min 속성은 number 키워드 사용시 사용할 수 있다고 한다.

 

사용방법 ( maxlength="10" 과 같은 효과 )

html 

1
<input type="number" name="inputBox" min="0" max="9999999999">
cs

 

 

 

 

 

* 참고 : html5 input 태그 type 속성의 키워드

키워드상태데이터 타입컨트롤 타입

hidden

Hidden임의의 문자열n/a

text

Text줄바꿈 없는 텍스트Text field

search

Search줄바꿈 없는 텍스트Search field

tel

Telephone줄바꿈 없는 텍스트A text field

url

URLIRI 절대경로A text field

email

E-mail이메일주소, 혹은 그것의 목록A text field

password

Password줄바꿈없는 텍스트(민감한 정보)Text field that obscures data entry (입력된 데이터를 감추는 텍스트 필드)

datetime

Date and Time타임존이 국제표준시(UTC)로 설정된 날짜와 시간(년, 월, 일, 시, 분, 초, 분할된 초)A date and time control

date

Date타임존 없는 날짜(년, 월, 일)A date control

month

Month년월을 구성하는 타임존 없는 날짜A month control

week

Week주 를 나타내는 타임존 없는 주-년 및 주 번호A week control

time

Time타임존 없는 시간(시, 분, 초, 분할된 초)A time control

datetime-local

Local Date and Time타임존 없는 날짜와 시간(년, 월, 일, 시, 분, 초, 분할된 초)A date and time control

number

Number숫자A text field or spinner control

range

Range숫자이면서, 정확한 값이 큰 의미가 없다는 의미를 내포함A slider control or similar

color

Color8비트 RGB로 구성된 sRGB 색상A color well

checkbox

Checkbox미리 정의된 목록에서 가져온 0개 이상의 값A checkbox

radio

Radio Button열거된 값A radio button

file

File UploadMIME 타입과, (선택적으로)파일명을 갖는 파일들A label and a button

submit

Submit Button열거된 값. 폼 제출을 시작하므로, 이것을 선택한 후에는 다른 값을 선택할 수 없음을 암시합니다.A button

image

Image Button특정 이미지의 크기와 관련된 좌표. 폼 제출을 시작하므로, 이것을 선택한 후에는 다른 값을 선택할 수 없음을 암시합니다.Either a clickable image, or a button

reset

Reset Buttonn/aA button

button

Buttonn/aA button

 

 

 

(참고 : http://html5ref.clearboth.org/doku.php?id=html5:attribute:type_input#number_state)



출처: http://cofs.tistory.com/215 [CofS]

반응형