본문 바로가기
Web Programing!/Script

[SCRIPT] input box에 숫자만 입력받기(ie/ff 사용가능)

by 어설픈봉봉이 2011. 9. 10.
반응형
SMALL




input box에서 숫자만 입력 받기 위해서는 onkeypress 이벤트에서 이벤트를 체크해서 숫자키가 아니면
 
입력을 받지 않으면 됩니다.

그런데 문제는 IE에서는 이 방법이 잘 먹히는데, 파이어폭스에서는 안될때가 많습니다.
 
그러기 위해서는 다음과 같이 수정을 해줘야 합니다.

<input type="text" style="ime-mode:disabled;" onKeyPress="return numbersonly(event, false)">

function numbersonly(e, decimal) {
    var key;
    var keychar; 

    if (window.event) {
       // IE에서 이벤트를 확인하기 위한 설정
        key = window.event.keyCode;
    } else if (e) {
      // FireFox에서 이벤트를 확인하기 위한 설정
        key = e.which;
    } else {
        return true;
    }

    keychar = String.fromCharCode(key);
    if ((key == null) || (key == 0) || (key == 8) || (key == 9) || (key == 13)
            || (key == 27)) {
        return true;
    } else if ((("0123456789").indexOf(keychar) > -1)) {
        return true;
    } else if (decimal && (keychar == ".")) {
        return true;
    } else
        return false;
}




반응형