묻고답하기

[re] 폼에서

2003.02.09 00:19

풍월주인


>숫자가 아닌 문자를 입력했을 때 경고창을 띄우게 하고 싶습니다.
>
>어떻게 해야 합니까?


<html>
<head>
    <title>Untitled</title>

<script language="javascript">
function onlynum(objtext1){
        var inText = objtext1.value;
        for (var i = 0; i < inText.length; i++) {
            ret = inText.charCodeAt(i);
                if (!((ret > 47) && (ret < 58)))  {
                        alert("숫자만을 입력하세요");
                        new_value = inText.substring(0,i);
                        objtext1.value = new_value;
                        objtext1.focus();
                        return false;
                }
        }
        return true;
}
</script>
</head>

<body>
  <form name=form1 action="" onsubmit="return check()">
    <input type="text" name="test" onkeyup="onlynum(form1.test);" style="ime-mode:disabled;">
    <input type="submit" value="보내기">
  </form>
</body>
</html>


위의 소스에서 onlynum함수는 매직앤 회원가입 싸이트에서 사용된 함수를 약간 수정했습니다.
매직엔 싸이트에서는 숫자가 아닌 영어가 입력하면 폼값을 비워버리는데
여기선 유효한 부분은 그대로 남겨두도록 했습니다.
그리고 그냥 위의 함수만을 사용할 경우 한글 입력시 제대로 동작하지 않는 문제가 있어
폼 스타일에서 style="ime-mode:disabled;"를 통해 한글입력자체를 막았습니다.
전체적인 알고리즘은 텍스트 입력박스에서 글자가 입력되면 onkeyup이벤트를 통해
onlynum함수를 호출해서 숫자인지 검사하고 숫자가 아닐경우 경고창을 띄우는 방식입니다.
글쓴이 제목 최종 글
XE 공지 글 쓰기,삭제 운영방식 변경 공지 [16] 2019.03.05 by 남기남
하얀등대 DB 이전하는 방법은 없나요?; [1] 2007.08.10
당무 ASP 배울때 말인데요. [2] 2007.08.10
신상원 홈페지 관리하면서., 궁금한거 답해주실 분 구해욤~  
이아람 윈앰에서 깨지는 글씨는 크기도 바꿀 수 없나요? [1] 2007.08.10
배탄실 플래시에 대해 질문! [3] 2007.08.10
키리에 [포토샵] 이게 안없어져요;ㅠ_ㅠ [1] 2007.08.10
최영민 제로보드에 있는 top으로 가는 버튼있자나요.  
세이 트래픽 제한 거는 방법 알려주세요^^  
최진영 포토샵에서 jpg이미지를 사이즈를 크게할때 이미지상태가 선명하지 못한데.. [1] 2007.08.10
지니닷 익스플로러 6.0 따운 받구나서.. [1] 2007.08.10
김승주™ 현재 서버에서 움직이는 데몬 종류 알아보기는요? [1] 2007.08.10
빅맥 도와주세요!!BGM부분이 파란색윈도우홈으로 뜬답니다. [1] 2007.08.10
김승주™ mysql에서 관리자 비번을 잊어 버렸습니다. 설정방법은요....?  
미노우 엄청 황당한.. PHP.. [1] 2007.08.10
nunobc 도메인으로 아이피 주소 찾는법 어떤게 있죠? [3] 2007.08.10
전재안 노프레임사이트의 문제점.  
박세연 [질문] 창크기를 일정하게 띄우는 방법 질문입니다.  
김대성 흠 윈도우 2000 에서 멜 서버 사용방법?  
라그라하 익스플러를 실행했을때 뜨는 에러  
박재우 html 태그중에.... [3] 2007.08.10