숫자만 입력받기 정보
숫자만 입력받기본문
다운받은 스킨에 적용된 onlyNumber 함수가 제대로 작동안해서 구글링하다보니 좋은 정보를 얻게 되어 공유합니다.
기존..
function onlyNumber() {
if((event.keyCode<48)||(event.keyCode>57)) {
alert('숫자만 입력');
event.returnValue=false;
}
}
=> 오른쪽 숫자키가 적용안됨
=> 파이어폭스에서 에러
새로 적용한 코드
/* Register Event Listener For FireFox */
if(navigator.userAgent.indexOf('Firefox') >= 0 ) {
var eventNames = ["mousedown", "mouseover", "mouseout", "mousemove", "mousedrag", "click", "dblclick", "keydown", "keypress", "keyup" ];
for( var i = 0 ; i < eventNames.length; i++ ) {
window.addEventListener( eventNames[i], function(e) {
window.event = e;
}, true );
}
}
function onlyNumber() { // 8 백스페이스 , 9 탭 , 37 왼쪽이동, 39 오른쪽이동, 46 delete
var key;
if(event.which) { // ie9 firefox chrome opera safari
key = event.which;
} else if(window.event) { // ie8 and old
key = event.keyCode;
}
if(!( key==8 || key==9 || key==37 || key==39 || key==46 || (key >= 48 && key <= 57) || (key >= 96 && key <= 105) )) {
alert("숫자만 입력해 주세요");
event.returnValue = false;
} else {
event.returnValue = true;
}
}
/* Register Event Listener For FireFox */ ~~
이 부분 적용안하면 파이어폭스에서 에러납니다.
적용안하고 사용하려면
<input onkeydown="onlyNumber(event)" > <= 괄호 안에 event 적고
function onlyNumber(event) { 여기도 역시 괄호 안에 적어야 되더군요.
해당부분에 대한 설명은 링크(http://aslike.egloos.com/2965771) 참고하시면 됩니다.
기존..
function onlyNumber() {
if((event.keyCode<48)||(event.keyCode>57)) {
alert('숫자만 입력');
event.returnValue=false;
}
}
=> 오른쪽 숫자키가 적용안됨
=> 파이어폭스에서 에러
새로 적용한 코드
/* Register Event Listener For FireFox */
if(navigator.userAgent.indexOf('Firefox') >= 0 ) {
var eventNames = ["mousedown", "mouseover", "mouseout", "mousemove", "mousedrag", "click", "dblclick", "keydown", "keypress", "keyup" ];
for( var i = 0 ; i < eventNames.length; i++ ) {
window.addEventListener( eventNames[i], function(e) {
window.event = e;
}, true );
}
}
function onlyNumber() { // 8 백스페이스 , 9 탭 , 37 왼쪽이동, 39 오른쪽이동, 46 delete
var key;
if(event.which) { // ie9 firefox chrome opera safari
key = event.which;
} else if(window.event) { // ie8 and old
key = event.keyCode;
}
if(!( key==8 || key==9 || key==37 || key==39 || key==46 || (key >= 48 && key <= 57) || (key >= 96 && key <= 105) )) {
alert("숫자만 입력해 주세요");
event.returnValue = false;
} else {
event.returnValue = true;
}
}
/* Register Event Listener For FireFox */ ~~
이 부분 적용안하면 파이어폭스에서 에러납니다.
적용안하고 사용하려면
<input onkeydown="onlyNumber(event)" > <= 괄호 안에 event 적고
function onlyNumber(event) { 여기도 역시 괄호 안에 적어야 되더군요.
해당부분에 대한 설명은 링크(http://aslike.egloos.com/2965771) 참고하시면 됩니다.
추천
4
4
댓글 4개
감사합니다^^
감사합니다.
감사용 ㅎ
많이 배워갑니다