input 박스에 숫자만 입력

Mozilla Firefox 사용에 대한 일반적인 질문과 답을 해 주는 게시판입니다. 질문을 하기 전에 FAQ를 읽어 보시는게 도움이 될 것입니다.
Post Reply
happyjung

input 박스에 숫자만 입력

Post by happyjung »

<script type="text/javascript">
// 숫자만 입력되도록 하는 코드
function onlyNumber()
{
//alert(event.keyCode);
if ( ( (96<=event.keyCode) && (event.keyCode<=105) ) || ( (48<=event.keyCode) && (event.keyCode<=57) ) || (event.keyCode==8) || (event.keyCode==37) || (event.keyCode==39) || (event.keyCode==9))
{
event.returnValue=true;
}
else
{
event.returnValue=false;
}
}
//-->
</script>

<input type="text" STYLE="IME-MODE:DISABLED" OnKeyDown="onlyNumber();">

이렇게 사용하는데요... IE(익스)에서는 정상작동하지만,
위의 코드 해석방식이 윈도우의 그 무엇을 참조하는 방식이라서..
FF(불여우)에서는 전혀 반응을 하지 않습니다.

뭐 좋은 해결 방법이 없을까요?
junho85
Posts: 1
Joined: 2008 03 19 18:10 49
Contact:

Re: input 박스에 숫자만 입력

Post by junho85 »

http://snippets.dzone.com/tag/javascript
참고를 하자면

Code: Select all

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

if (window.event) {
   key = window.event.keyCode;
}
else if (e) {
   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;
}

Code: Select all

<form>
  <input name="number"  onKeyPress="return numbersonly(event, false)">
</form>
이런방식의 처리가 가능합니다.
하지만 한글은 입력됩니다.
style="ime-mode:disabled" 해주면 IE에서는 한글입력이 방지 되지만 FF2에서는 안되더군요.
검색을 해보니 FF3에서는 ime-mode를 지원하는듯 하지만 확인해보지는 못했습니다.
Post Reply

Who is online

Users browsing this forum: No registered users and 1 guest