<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(불여우)에서는 전혀 반응을 하지 않습니다.
뭐 좋은 해결 방법이 없을까요?
input 박스에 숫자만 입력
-
- Posts: 1
- Joined: 2008 03 19 18:10 49
- Contact:
Re: input 박스에 숫자만 입력
http://snippets.dzone.com/tag/javascript
참고를 하자면
이런방식의 처리가 가능합니다.
하지만 한글은 입력됩니다.
style="ime-mode:disabled" 해주면 IE에서는 한글입력이 방지 되지만 FF2에서는 안되더군요.
검색을 해보니 FF3에서는 ime-mode를 지원하는듯 하지만 확인해보지는 못했습니다.
참고를 하자면
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를 지원하는듯 하지만 확인해보지는 못했습니다.
Who is online
Users browsing this forum: No registered users and 1 guest