반응형
|
javascript 에서 input 값에 숫자이외의 글을 넣었을때 더이상 입력이 되지 않도록 막는 소스이다.
여러형태가 있으니 소스를 보고 분석하다 보면 공부가 많이 될것이다.
// 키 이벤트 값으로 판단 function checkForNumber() { var key = event.keyCode; if(!(key==8||key==9||key==13||key==46||key==144|| (key>=48&&key<=57)||key==110||key==190)) { event.returnValue = false; } } // 숫자만 입력과 특수문자('-','.',...)도 허용한다. function onlyNumber() { if((event.keyCode > 31) && (event.keyCode < 45) || (event.keyCode > 57)) { event.returnValue = false; } } // 숫자만 입력 function onlyNumber2(loc) { if(/[^0123456789]/g.test(loc.value)) { alert("숫자가 아닙니다.\n\n0-9의 정수만 허용합니다."); loc.value = ""; loc.focus(); } }
javascript 함수는 위의 것을 쓰면되고 Input 에 key 입력시 event 객체가 가로채서 그 내용을
분석한후 event.returnValue = false 리턴하게 되면 더 이상 키의 값을 입력할수 없게 해준다.
이것을 활용하여 여러가지 입력형태의 제한을 만들어서 사용하면 유용할 것이다
<input type="text" name="aaa" style="ime-mode:disabled;" onkeypress="checkForNumber();" onBlur="checkForNumber();" />
위의 예제에서 onKeypress 와 onBlur 이 같이 있는것은 MS 익스플로어에서는 onkeypress
이벤트가 먹히는데 크롬이나 기타 MS 외 브라우저에서는 onBlur 이 인식된다.
범용성을 위해 같이 넣어 두었다.
그리고 style="ime-mode:disalbed" 의 의미는 input 박스의 초기값을 한글/영문으로
변경해서 지정하기 위함이다.<input type="text" name="m_name" style="ime-mode:active;"> //초기값이 한글자판 <input type="text" name="m_id" style="ime-mode:inactive;"> //초기값이 영문자판
반응형
'웹 프로그래밍 > 자바스크립트' 카테고리의 다른 글
Javascript 자바스크립트에서 배열사용하여 프로그램하기 (0) | 2012.09.19 |
---|---|
자바스크립트를 개발하기 위한 에디터 종류 (1) | 2012.09.15 |
Javascript 에서 jQuery API 를 이용한 버튼이벤트시 레이어 새창으로 표현 (0) | 2012.03.18 |
Javascript 를 이용한 동적테이블 구성 (1) | 2011.04.14 |
javascript 의 showModalDialog 사용해서 새창 제어하기 (1) | 2010.08.07 |
자식창과 부모창의 관계, iframe 내부와 메인페이지와의 관계제어 (5) | 2009.09.15 |
Ajax 라이브러리 Dojo 에서 브라우저의 뒤로 /앞으로 가기 지원 (0) | 2009.07.05 |
Ajax 라이브러리 Dojo 에서 form 을 비동기적으로 submit 하기 (0) | 2009.07.05 |