채택완료

스크립트 문제점좀 봐주세요.

2020-01-31 (금) 18:51:54 1,860

이름을 한글만 입력할수 있게 하려고 빨간색 코드를 추가했는데

저걸 추가하니 폼체크를 안하고 그냥 넘어가버리네요.

뭐가 문제인거죠???

<script type="text/javascript"> // form 체크
    function formcheck(chk){
        if(chk.wr_name.value == ""){
            alert("이름을 입력해 주세요.");
            chk.wr_name.focus;
            return false;
        }

        if(!chk.wr_name.match(/^[ㄱ-ㅎ가-힝]{3,}(?: [ㄱ-ㅎ가-힝]+){0,2}$/)){
            alert("이름을 정확히 입력해 주세요.");
            chk.wr_name.focus;
            return false;
        }

        if(chk.wr_1.value == ""){
            alert("핸드폰번호를 입력해 주세요.");
            chk.wr_1.focus;
            return false;
        }
       if(chk.wr_1.value.length<10){
           alert("정확한 값을 입력해 주세요.");
           chk.wr_1.focus();
           return false;
       }
      if(chk.wr_2.value == ""){
         alert("현재통신사를 선택해 주세요.");
         chk.wr_2.focus;
         return false;
      }
      if(chk.wr_3.value == ""){
         alert("희망기종을 선택해 주세요.");
         chk.wr_3.focus;
         return false;
      }
    chk.button.disabled = true;

    return true;
   }
</script>

|

답변 2개 / 댓글 2개

채택된 답변
+20 포인트

한글만 입력되었는지 체크.

사용하기 편리하게 함수로 만들어서 체크하면 좋습니다.

다른 페이지에서도 사용하려면 공용함수파일에 추가하면 됩니다.

아래 함수를 <script></script> 사이에 추가해 줍니다.

Copy
// 한글만 체크합니다.

    function hangulCheck(str){

            var check = /^[ㄱ-ㅎ가-힝]{3,}(?: [ㄱ-ㅎ가-힝]+){0,2}$/;

            var result = str.match(check);

            

            if(result) {

                console.log("한글만 입력되었습니다.");

                return true; //한글일 경우

            } else {

                alert("한글만 입력할 수 있습니다.");

                return false;

            }

    }

본문글에서 주황색 부분을 모두 지우고 아래 코드로 수정해서 해보세요.

Copy
hangulCheck(chk.wr_name.value);

답변에 대한 댓글 1개

답변 감사합니다~
적용해서 잘 사용하고 있어요
2020-01-31 (금) 20:35:47

 chk.wr_name.focus;

->  chk.wr_name.focus();

chk.wr_name.focus;

-> chk.wr_name.focus();

답변에 대한 댓글 1개

답변감사합니다.
()를 안넣어서 그랬군요... 가로 넣으니 안넘어 가네요.

답변을 작성하려면 로그인이 필요합니다.